`
Everyday都不同
  • 浏览: 723414 次
  • 性别: Icon_minigender_1
  • 来自: 宇宙
社区版块
存档分类
最新评论

自定义Highcharts主题属性并应用

阅读更多

在使用Highcharts的过程中,你一定想过“美化”Highcharts,也就是社交网站常见的换“皮肤主题“。下面就用一个小的demo来看一看如何自定义一套”皮肤“并且把它应用起来,顺便巩固一下Highcharts一些常用属性的定义。

这里的”皮肤“可不是css,而是js。如:

//用于定义皮肤

//自定义皮肤
var my_skin = {
    //颜色数组,默认从数组第一个元素取色
    colors: ["#33FF33", "#f45b5b", "#7798BF", "#aaeeee", "#ff0066", "#eeaaee",
		"#55BF3B", "#DF5353", "#7798BF", "#aaeeee"],
    //背景透明
    chart: {
		backgroundColor:'rgba(0,0,0,0)',
	},
    
    //title白色字
    title: {
       
        style:{ "color": "#FFFFFF", "fontSize": "18px" }
                //align:"right"
    },
    
//这个属性常用于饼图的时候对每个区域的说明
    plotOptions: {
            pie: {
                innerSize: 100,
                depth: 45,
                dataLabels: {
                	distance:7,
                    enabled: true,
                    color: '#FFFFFF',
                    connectorColor:'#FFFFFF',
//默认是 format: '<b>{point.name}</b>: {point.percentage:.1f} %'显示百分比
                    formatter: function(){//自定义显示
                    	return '<b>' + this.point.name + ':(' + this.y +')</b>';
                    } 
                }
            }
        },
    
    //x,y轴上的字白色
    xAxis: {
        labels: {
            style: {
                color: '#FFFFFF'
            }
        }       
    },
    
    yAxis: {
        title: {
            style:{ "color": "#FFFFFF"}
        },
        markable:{enabled:false},//不显示每一个点的实心
        labels: {
            style: {
                color: '#FFFFFF'
            }
        }, 
       
    },
    
    //图例上的字白色
    legend: {
        itemStyle: {
            font: '9pt Trebuchet MS, Verdana, sans-serif',
            color: '#FFFFFF'
        }
    },
    exporting: {enabled:false},//隐藏导出按钮
   plotOptions: {
		series: {
			dataLabels: {//影响条形图上数字的字体颜色
				color: '#000000'
			}
		}
	}
}

 

如何使用呢?超简单,比如我把上面的js代码定义成一个文件theme.js,只需在定义charts的文件里引入这个theme.js即可,然后:

Highcharts.setOptions(my_skin);//使用自定义皮肤
       
$('#tranCount').highcharts({
    //定义一些charts属性的部分省略
    //....................
});

 需注意:Highcharts.setOptions()的作用范围是全局的,假设你为一个charts使用了这句话,那么本页面的所有charts都会换上这个"皮肤"。所以要想不同的charts使用不同的"皮肤",你必须为每个charts定义自己的皮肤。否则默认的话(没有使用皮肤),它也会被换上已使用主题的皮肤!

 

下面说一个比较隐晦但是十分重要的问题!

注意属性:global: {    useUTC: false }是很重要的,对于我们在中国地区使用的系统而言,如果你这个设置为true或者不设置的话,会莫名其妙少了8个小时。因为如果你不设置为false,则是以世界标准时区为准,而由于中国所在时区为+8,所以经过 Highcharts 的处理后会减去8个小时。——这也是会偶尔出现的比较难以发现的问题。。

因为你如果使用主题了,是Highcharts.setOptions(dark_blue);默认不使用主题的时候我们会发现往往是这样写的:

Highcharts.setOptions({                                                     

            global: {                                                               

                useUTC: true                                                       

            }                                                                       

 

  });

而你现在为了使用主题,已经这样写了Highcharts.setOptions(my_skin);默认就会把这个时区的设置覆盖掉。。而你又不能这样写:Highcharts.setOptions(my_skin,global: { useUTC: true }   );

所以:在自定义皮肤的时候,你别忘了在皮肤主题里面加上这句哦,比如我需要在var my_skin的js加上这句:

global: { useUTC: true }

分享到:
评论

相关推荐

    highcharts--基本使用(API常用属性).doc

    ### Highcharts基本使用(API常用属性)详析 #### 一、Highcharts介绍 **Highcharts**是一款使用JavaScript脚本语言来生成图表的强大工具。它与另一款著名的图表库JFreeChart相似,主要用于生成多种类型的图表,并...

    零基础highcharts生成报表-简单应用 .

    在这个例子中,我们创建了一个简单的折线图,设置了标题、x轴和y轴的属性,并定义了一个数据系列。`chart`对象用于设置图表的类型,`title`用于设置图表标题,`xAxis`和`yAxis`分别定义了坐标轴的信息,而`series`则...

    jquery Highcharts jquery Highcharts

    Highcharts是一款强大的JavaScript图表库,它能够为网页和应用程序提供丰富多样的数据可视化效果。基于jQuery库,Highcharts使得在Web页面上创建交互式图表变得简单易行。在这个压缩包中,很可能包含了Highcharts的...

    3D图表Highcharts(3D)

    在“3D图表Highcharts”这个主题中,我们将深入探讨如何利用Highcharts来实现三维图表的制作,以及它在数据可视化中的应用。 首先,Highcharts的核心优势在于其丰富的图表类型。除了常规的柱状图、折线图、饼图之外...

    highcharts属性介绍.docx

    【Highcharts 属性详解】 Highcharts 是一款强大的 JavaScript 图表库,用于创建各种类型的互动图表,如折线图、柱状图、...在实际应用中,开发者可以根据具体需求查阅 Highcharts 的官方文档,以获取更详细的信息。

    Highcharts

    Highcharts是一款广泛应用于Web开发中的JavaScript图表库,它允许开发者创建出丰富、交互式的图表,如折线图、柱状图、饼图、散点图等。这个压缩包包含了一系列Highcharts所需的文件,用于在你的项目中直接集成并...

    highcharts

    - 自定义主题:可以修改样式和颜色方案,适应不同的设计需求。 - 导出功能:用户可以将图表导出为图片或PDF格式。 - 多轴图表:适用于展示不同尺度的数据。 - 混合图表:在同一图表中结合多种图表类型。 在源代码...

    Highcharts最全示例程序

    Highcharts是一款广泛应用于Web开发中的JavaScript图表库,它能够帮助开发者轻松创建各种动态、交互式的图表,如折线图、柱状图、饼图、散点图等。本压缩包"Highcharts-2.3.2"包含了Highcharts 2.3.2版本的源码和...

    highcharts简单的饼图demo

    在这个"highcharts简单的饼图demo"中,我们将深入探讨如何利用Highcharts来构建一个基本的饼图,并根据需求进行自定义。 饼图是一种常用的统计图表,它通过将整个圆代表100%,而每个扇区则表示数据集中的一部分。在...

    highcharts-zh_CN.js 文件下载

    2. **Highcharts API集成**:`highcharts-zh_CN.js`与Highcharts的API紧密集成,可以在初始化图表时通过设置`lang`属性来应用中文语言包,例如: ```javascript Highcharts.setOptions({ lang: { decimalPoint: ...

    highcharts去掉水印的方法

    在Highcharts配置文件中,找到与`credits`相关的配置项,并将其`enabled`属性设为`false`。 ```javascript Highcharts.chart('container', { // ... 其他配置选项 ... credits: { enabled: false } }); ``...

    Highcharts-3.0.2.zip

    Highcharts是一款广泛应用于Web开发中的JavaScript图表库,它允许开发者创建出丰富且交互性强的数据可视化效果。这个"Highcharts-3.0.2.zip"压缩包包含了一系列与Highcharts 3.0.2版本相关的资源和文件,这些文件...

    highcharts demo

    这些数据会被传递给Highcharts的`series.data`属性。X轴通常设置为`datetime`类型,以便正确地处理和显示日期时间数据。同时,可以使用`xAxis.labels.formatter`函数来自定义X轴的标签格式,使其更易读。 总的来说...

    Highcharts API CHM

    Highcharts API CHM 是一个关于Highcharts JavaScript图表库的离线帮助文档,它包含了详尽的API参考和教程,旨在帮助开发者快速理解和应用Highcharts。Highcharts是一个强大的数据可视化工具,广泛应用于网页和Web...

    Highcharts-5.0.3文档

    Highcharts是一款广泛应用于Web开发中的JavaScript图表库,它允许开发者创建各种交互式的柱状图、折线图、饼图、散点图等。版本5.0.3是Highcharts的一个重要迭代,带来了许多新特性、优化和修复。下面将详细阐述...

    highcharts动态开发实例

    在Highcharts中,可以通过设置`series.data`的`marker.symbol`属性来改变数据点的图标,这些图标可以从这个目录中获取。 `js`目录则可能包含了Highcharts的库文件和其他定制的JavaScript代码。`highcharts.js`是...

    官方highcharts-4.2.3版

    Highcharts的API允许开发者通过JavaScript进行精细控制,例如自定义图表的每一个元素,如标题、图例、数据标签、工具提示等。它还支持动态更新图表,这意味着用户可以在不刷新页面的情况下对图表进行修改,增加了...

Global site tag (gtag.js) - Google Analytics