在数据统计和分析业务中,有时需要在一个图表中将柱状图、饼状图、曲线图的都体现出来,即可以从柱状图中看出具体数据、又能从曲线图中看出变化趋势,还能从饼状图中看出各部分数据比重。highCharts可以轻松实现三图合一的效果。

        还是以刚才降雨量为例,如果没有highCharts基础,请先参考“highCharts如何使用-强大的图表库插件”。和上个例子相比,修改的地方只有js,所以着重点在js代码上面。这个例子主要是实现柱状图、折线图和饼图结合在一起的用法。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
$(function() {
new Highcharts.Chart({
chart : {
renderTo : 'gridTable', // 放置图表的DIV容器对应页面的id属性
},
title : {
text : '全国各大城市降雨量综合统计图' // 图表标题
},
subtitle : {
text : '2012年度' // 副标题
},
// x轴
xAxis : {
categories : [ '第一季度', '第二季度', '第三季度', '第四季度', ]
},
// 右下角显示的LOGO
credits : {
text : 'demo', // 设置LOGO区文字
href : 'http://www.javakfz.com' // 设置LOGO链接地址
},
// 是否启用导出功能,默认为true
exporting : {
enabled : true
},
// y轴
yAxis : {
min : 0,
title : {
text : '降雨量 (L)'
}
},
legend : {
layout : 'vertical',
backgroundColor : '#FFFFFF',
align : 'left',
verticalAlign : 'top',
x : 100,
y : 70,
floating : true,
shadow : true
},
// 当鼠标悬置数据点时的格式化提示
tooltip : {
formatter : function() {
var temp;
if (this.point.name) { // 饼状图
temp = '<b>' + this.point.name + '</b>: <br>(' + this.y
+ '%)';
} else {
temp = '' + this.x + ': ' + this.y + 'L';
}
return temp;
}
},
plotOptions : {
column : {
dataLabels : {
enabled : true
},
pointPadding : 0.2,
borderWidth : 0
}
},
// 图表标签
labels : {
items : [ {
html : '年度降雨量分布比例',
style : {
left : '228px',
top : '8px'
}
} ]
},
// 显示的数据,JSON数据格式,最重要的是name和data元素
series : [ {
type : 'column',
name : '成都',
data : [ 1000, 600, 3000, 900 ]
}, {
type : 'column',
name : '深圳',
data : [ 2000, 1200, 5500, 1000 ]
}, {
type : 'column',
name : '上海',
data : [ 1500, 1400, 4000, 1200 ]
}, {
type : 'spline',
name : '平均值',
data : [ 1500, 1066.67, 4166.67, 1033.33 ]
}, {
// 饼图
type : 'pie',
name : '年度降雨量分布',
data : [ {
name : '第一季度',
y : 19.31
}, {
name : '第二季度',
y : 13.73,
}, {
name : '第三季度',
y : 53.65,
}, {
name : '第四季度',
y : 13.31,
} ],
// 饼状图坐标
center : [ 260, 60 ],
// 饼状图直径大小
size : 100,
dataLabels : {
// 不显示饼状图数据标签
enabled : false
}
}]
});
});
现在的效果就不像刚才的那么单调了。三种图标结合在一起分析数据还是比较直观。效果图:
        从上面的例子可以看出,要想在一个图表中(柱状图)加入多种图表形式(曲线图、饼状图等),关键在于设置选项:series(数据列)中的type属性,从上述代码中可以看出,设置column、spline、pie类型表示不同的图表,而在设置饼状图(pie)中,需要设置饼状图的坐标以及大小,调整位置,这样可以使得整个图表显得更加美观。

原创文章,转载请注明: 转载自java开发者

本文链接地址: highCharts图表应用-实现多种图表的显示

highCharts图表应用-实现多种图表的显示的更多相关文章

  1. highcharts动态获取数据生成图表问题

    动态获取数据说白点就是从后台传值到前台,前台把这些值赋值给x轴与y轴(这里指的是你X轴与Y轴都是变化的数据,如果你的X轴是固定的,像时间等等的那就另说).  柱状图的动态传值: //获取后台数据 va ...

  2. 网页图表Highcharts实践教程之外层图表区

    网页图表Highcharts实践教程之外层图表区 Highcharts图表区 图表区是图表的基本区域.所有的数据和图形都是绘制在图表区中.从图形绘制范围来分,图表区域分为外层图表区和绘图区.本章将详细 ...

  3. EXCEL 图表 只在拐点的时候显示数字

    EXCEL图表只在折线的拐点显示数值,中间不需要显示.同时往下拐的,显示在上方,往上的显示在下方,这样数值不会挡住线. 首先,做一些模拟数据 因为起点和终点数值必须显示,所以单元格,C2 D2 C19 ...

  4. Highcharts.js -纯javasctipt图表库初体验

    一.highcharts简介以及引入 highcharts作为免费提供给个人学习.个人网站和非商业用途使用的前端图表演示插件的确使用起来十分方便和轻便.在我最近完成一个需求的时候用到了它, 它的兼容性 ...

  5. Highcharts 基本曲线图;Highcharts 带有数据标签曲线图表;Highcharts 异步加载数据曲线图表

    Highcharts 基本曲线图 实例 文件名:highcharts_line_basic.htm <html> <head> <meta charset="U ...

  6. Highcharts使用表格数据绘制图表

    Highcharts使用表格数据绘制图表 在Highcharts中,同意用户使用网页中现有的表格数据作为数据来源,然后依据该数据来源绘制图表.对于一个典型的HTML表格.当中,第一列的数据会作为x轴刻 ...

  7. [Swift通天遁地]三、手势与图表-(12)创建复合图表:包含线性图表和柱形图表

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  8. highcharts图表的图例legend怎么改变显示位置

    一.将图例Legend放于图表右侧1.设置chart的marginRight属性值:chart: { marginRight: 120}2.设置legend图例属性值如下 legend: { alig ...

  9. Highcharts AJAX JSON JQuery 实现动态数据交互显示图表 柱形图

    http://my.oschina.net/xshuai/blog/345117?fromerr=hEXYMdR0 http://www.oschina.net/code/snippet_144464 ...

随机推荐

  1. MariaDB集群Galera Cluster的研究与测试

    MariaDB集群Galera Cluster的研究与测试 Galera Cluster是MariaDB的一个双活多主集群,其可以使得MariDB的所有节点保持同步,Galera为MariaDB提供了 ...

  2. CF444C DZY Loves Colors

    考试完之后打的第一场CF,异常惨烈呀,又只做出了一题了.A题呆滞的看了很久,领悟到了出题者的暗示,应该就是两个点的时候最大吧,不然的话这题肯定特别难敲,YY一发交上去然后就过了.然后就在不停地YY B ...

  3. POJ 2689 Prime Distance (素数筛选法,大区间筛选)

    题意:给出一个区间[L,U],找出区间里相邻的距离最近的两个素数和距离最远的两个素数. 用素数筛选法.所有小于U的数,如果是合数,必定是某个因子(2到sqrt(U)间的素数)的倍数.由于sqrt(U) ...

  4. 传说中的WCF(8):玩转消息协定

    Message翻译成中文,相信各位不陌生,是啊,就是消息,在WCF中也有消息这玩意儿,不知道你怎么去理解它.反正俺的理解,就像我们互发短信一个道理,通讯的双方就是服务器与客户端,说白了吧,就是二者之间 ...

  5. Codeforces Round #335 (Div. 2) C. Sorting Railway Cars 连续LIS

    C. Sorting Railway Cars   An infinitely long railway has a train consisting of n cars, numbered from ...

  6. jmeter if 控制器

    判断变量值是不是为空(有没有被赋值): "${jd_aid}"!="\${jd_aid}"

  7. 【poj1006-biorhythms】中国剩余定理

    http://poj.org/problem?id=1006 题意:中国剩余定理的裸题. 题目可转化为求最小的x满足以下条件: x%23=a;x%28=b;x%33=c; 关于中国剩余定理可看我昨天的 ...

  8. C#加密算法汇总

    方法一: //须添加对System.Web的引用 using System.Web.Security; ... /// <summary> /// SHA1加密字符串 /// </s ...

  9. http://my.oschina.net/u/719192/blog/506062?p={{page}}

    http://my.oschina.net/u/719192/blog/506062?p={{page}}

  10. SQLServer错误代码解释

    SQLServer出现错误的代码大全(好用) Code Error Message 0 操作成功完成. 1 功能错误. 2 系统找不到指定的文件. 3 系统找不到指定的路径. 4 系统无法打开文件. ...