Highcharts 配置选项详细说明

Highcharts 提供大量的配置选项参数,您可以轻松定制符合用户要求的图表,本章节为大家详细介绍Highcharts 配置选项使用说明:


参数配置(属性+事件)

  1. chart.events.addSeries:添加数列到图表中。

  2. chart.events.click:整个图表的绘图区上所发生的点击事件。

  3. chart.events.load:图表加载事件。

  4. chart.events.redraw:图表重画事件,当点击图注显示和隐藏绘图时可以触发。

  5. chart.events.selection:当图表曲线可选择放大时,当选择图表操作时,可以触发该事件。

  6. chart.height:所绘制图表的高度值。

  7. chart.inverted:图表中的x,y轴对换。

  8. chart.polar:是否为极性图表。

  9. chart.reflow:当窗口大小改变时,图表宽度自适应窗口大小改变。

  10. chart.renderTo:图表加载的位置,是页面上的一个DOM对象。

  11. chart.showAxes:在空白图表中,是否显示坐标轴。

  12. chart.type:图表的类型,默认为line,还有bar/column/pie……

  13. chart.width:图表绘图区的宽度,默认为自适应。

  14. chart.zoomType:图表中数据报表的放大类型,可以以X轴放大,或是以Y轴放大,还可以以XY轴同时放大。

  15. colors:图表中多数列时,各数列之间的颜色。是一个数组,一般不动。

  16. credits.enabled:是否允许显示版权信息。

  17. credits.href:版权所有的链接。

  18. credits.text:版权信息显示文字。

  19. exporting.buttons.exportButton.enabled:是否允许显示导出按钮。

  20. exporting.buttons.exportButton.menuItems:导出按钮的菜单选项。

  21. exporting.buttons.exportButton.onclick:导出按钮被点击的事件,不是内部的菜单。

  22. exporting.buttons.printButton.enabled:是否允许打印按钮。

  23. exporting.buttons.printButton.onclick:打印按钮的点击事件。

  24. exporting.enabled:打印和导出按钮是否被允许。

  25. exporting.filename:被导出文件的文件名。

  26. exporting.type:默认导出图片的文件格式。

  27. exporting.url:SVG图表转换并导出的接口处理地址。

  28. exporing.width:默认导出图片的宽度。

  29. labels:标签,可以加载到图表的任何位置,里面有items,style。

  30. lang:语言参数配置,与导出按钮菜单有关的配置,时间名称的配置等。

  31. legend.enabled:是否允许图注。

  32. navigation.buttonOptions.enabled:图表中所有导航中的按钮是否可被点击。

  33. plotOptions.area.allowPointSelect:是否允许数据点的点击。

  34. plotOptions.area.color:绘图的颜色。

  35. plotOptions.area.dataLabels.enabled:是否允许数据标签。

  36. plotOptions.area.enableMouseTracking:是否允许数据图表中,数据点的鼠标跟踪气泡显示。

  37. plotOptions.area.events.checkboxClick:数据图表中图注中复选框的点击事件。

  38. plotOptions.area.events.click:数据图表中,数据点的点击事件。

  39. plotOptions.area.events.hide:数据图表中,某一数据序列隐藏时的事件。

  40. plotOptions.area.events.show:数据图表中,某一数据序列显示时的事件。

  41. plotOptions.area.events.legendItemClick:数据图表中,图注中的项目被点击时的事件,直接赋值false,则不可点击。

  42. plotOptions.area.events.mouseOut:数据点的鼠标移出事件。

  43. plotOptions.area.events.mouseOver:数据点的鼠标经过事件。

  44. plotOptions.area.marker.enabled:图表中绘图中是否显示点的标记符。

  45. plotOptions.area.marker.states.hover.enabled:是否允许标记符的鼠标经过状态。

  46. plotOptions.area.marker.states.select.enabled:是否允许标记符的选择状态。

  47. plotOptions.area.point.events.click:图表中每一个单独的点点击事件。

  48. plotOptions.area.point.events.mouseOut

  49. plotOptions.area.point.events..mouseOver

  50. plotOptions.area.point.events.remove:删除图表中的点时的事件。

  51. plotOptions.area.point.events.select:图表中点选择事件。

  52. plotOptions.area.point.events.unselect:图表中点取消选择时的事件。

  53. plotOptions.area.point.events.update:图表中数据发生更新时的事件。

  54. plotOptions.area.visible:加载时,数据序列默认是显示还是隐藏。

  55. plotOptions.area.zIndex:在多序列的情况下,调整每一个序列的层叠顺序。

  56. 以上的point.events同样还适用于其他面积类图表(arearange、areaspline、areasplinerange),其他的柱状图(bar、column)及所有图表。

  57. plotOptions.area.showInLegend:是否在图注中显示。

  58. plotOptions.area.stacking:是以值堆叠,还是以百分比堆叠。

  59. plotOptions.area.states.hover.enabled:鼠标放上的状态是否允许。

  60. plotOptions.area.stickyTracking:鼠标粘性跟踪数据点。

  61. plotOptions.arearange,plotOptions.areaspline,plotOptions.areasplinerange类同于plotOptions.area

  62. plotOptions.bar.groupPadding:对于柱状图分组,每个分组之间的间隔。

  63. plotOptions.bar.grouping:是否对数据进行分组。

  64. plotOptions.bar.minPointLength::定义当point值为零时,点的最小长度为多少

  65. plotOptions.bar.showInLegend:是否在图注中显示。

  66. plotOptions.bar.stacking:是以值堆叠,还是以百分比堆叠(normal/percent)。

  67. plotOptions.column,plotOptions.columnrange类同于plotOptions.bar

  68. plotOptions.line的相关配置类似于plotOptions.area配置。

  69. plotOptions.pie.ignoreHiddenPoint:在饼状图中,某一个序列经图注点击隐藏后,整个饼状图是重新以100%分配,还是只在原图基础上隐藏,呈现一个缺口。

  70. plotOptions.pie.innerSize:绘制饼状图时,饼状图的圆心预留多大的空白。

  71. plotOptions.pie.slicedOffset:与allowPointSelect结合使用,当点被点击时,对应的扇区剥离,这个参数即配置离开的距离。

  72. plotOptions.pie的其他常用配置参数类同于plotOptions.area,plotOptions.scatter,plotOptions.series,plotOptions.spline的相关配置类似于plotOptions.area配置。

  73. series:是一个数组。

  74. series.data.color:某一个数据的颜色。

  75. series.data.dataLabels:序列中某一个数据的数据标签。

  76. series.data.events类同于plotOptions.area.point.events的相关配置。

  77. series.data.marker类同于plotOptions.area.marker的相关配置。

  78. series.data.name:配置数据点的名称。

  79. series.data.sliced:配置在饼图中,扇区的分离距离大小。

  80. series.data.x:点的x值。

  81. series.data.y:点的y值。

  82. series.name:数据序列的名称。

  83. series.stack:堆叠的分组索引。

  84. series.type:数据序列的展示类型。

  85. series.xAxis,series.yAxis:当使用多坐标轴时,指定某个数列对应哪个坐标轴。

  86. subtitle:配置图表的子标题。

  87. title:配置图表的标题。

  88. tooltip:配置图表中数据的气泡提示。

  89. tooltip.valueDecimals:允许的小数点位数。

  90. tooltip.percentageDecimals:允许百分比的小数点后位数。

  91. xAxis,yAxis配置设置坐标轴

  92. allowDecimals:坐标轴上是否允许小数。

  93. categories:是一个数组,坐标轴的分类。

  94. plotLines:绘制主线。

  95. tickColor:刻度颜色。

  96. tickInterval:刻度的步进值。

  97. labels.rotation:刻度标签旋转度数

Chart:图表区选项

Chart图表区选项用于设置图表区相关属性。

参数 描述 默认值
backgroundColor 设置图表区背景色 #FFFFFF
borderWidth 设置图表边框宽度 0
borderRadius 设置图表边框圆角角度 5
renderTo 图表放置的容器,一般在html中放置一个DIV,获取DIV的id属性值 null
defaultSeriesType 默认图表类型line, spline, area, areaspline, column, bar, pie , scatter 0
width 图表宽度,默认根据图表容器自适应宽度 null
height 图表高度,默认根据图表容器自适应高度 null
margin 设置图表与其他元素之间的间距,数组,如[0,0,0,0] [null]
plotBackgroundColor 主图表区背景色,即X轴与Y轴围成的区域的背景色 null
plotBorderColor 主图表区边框的颜色,即X轴与Y轴围成的区域的边框颜色 null
plotBorderWidth 主图表区边框的宽度 0
shadow 是否设置阴影,需要设置背景色backgroundColor。 false
reflow 是否自使用图表区域高度和宽度,如果没有设置width和height时,会自适应大小。 true
zoomType 拖动鼠标进行缩放,沿x轴或y轴进行缩放,可以设置为:'x','y','xy' ''
events 事件回调,支持addSeries方法,click方法,load方法,selection方法等的回调函数。  

Color:颜色选项

Color颜色选项用于设置图表的颜色方案。

参数 描述 默认值
color 用于展示图表,折线/柱状/饼状等图的颜色,数组形式。 array

Highcharts已经默认提供了多种颜色方案,当要显示的图形多于颜色种类时,多出的图形会自动从第一种颜色方案开始选取。自定义颜色方案的方法:

Highcharts.setOptions({    colors: ['#058DC7', '#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655','#FFF263', '#6AF9C4']});

Title:标题选项

Title标题选项用于设置图表的标题相关属性。

参数 描述 默认值
text 标题文本内容。 Chart title
align 水平对齐方式。 center
verticalAlign 垂直对齐方式。 top
margin 标题与副标题之间或者主图表区间的间距。 15
floating 是否浮动,如果为true,则标题可以偏离主图表区,可配合x,y属性使用。 false
style 设置CSS样式。 {color: '#3E576F',
fontSize: '16px'}

Subtitle:副标题选项

副标题提供的属性选项与标题title大致相同,可参照上述标题选项,值得一提的是副标题的text选项默认为'',即空的,所以默认情况下副标题不显示。


xAxis:X轴选项

X轴选项用于设置图表X轴相关属性。

参数 描述 默认值
categories 设置X轴分类名称,数组,例如:categories: ['Apples', 'Bananas', 'Oranges'] []
title X轴名称,支持text、enabled、align、rotation、style等属性  
labels 设置X轴各分类名称的样式style,格式formatter,角度rotation等。 array
max X轴最大值(categories为空时),如果为null,则最大值会根据X轴数据自动匹配一个最大值。 null
min X轴最小值(categories为空时),如果为null,则最小值会根据X轴数据自动匹配一个最小值。 array
gridLineColor 网格(竖线)颜色 #C0C0C0
gridLineWidth 网格(竖线)宽度 1
lineColor 基线颜色 #C0D0E0
lineWidth 基线宽度 0

yAxis:Y轴选项

Y轴选项与上述xAxis选项基本一致,请参照上表中的参数设置,不再单独列出。


Series:数据列选项

数据列选项用于设置图表中要展示的数据相关的属性。

参数 描述 默认值
data 显示在图表中的数据列,可以为数组或者JSON格式的数据。如:data:[0, 5, 3, 5],或
data: [{name: 'Point 1',y: 0}, {name: 'Point 2',y: 5}]
''
name 显示数据列的名称。 ''
type 数据列类型,支持 area, areaspline, bar, column, line, pie, scatter or spline line

plotOptions:数据点选项

plotOptions用于设置图表中的数据点相关属性。plotOptions根据各种图表类型,其属性设置略微有些差异,现将常用选项列出来。

参数 描述 默认值
enabled 是否在数据点上直接显示数据 false
allowPointSelect 是否允许使用鼠标选中数据点 false
formatter 回调函数,格式化数据显示内容 formatter: function() {return this.y;}

Tooltip:数据点提示框

Tooltip用于设置当鼠标滑向数据点时显示的提示框信息。

参数 描述 默认值
enabled 是否显示提示框 true
backgroundColor 设置提示框的背景色 rgba(255, 255, 255, .85)
borderColor 提示框边框颜色,默认自动匹配数据列的颜色 auto
borderRadius 提示框圆角度 5
shadow 是否显示提示框阴影 true
style 设置提示框内容样式,如字体颜色等 color:'#333'
formatter 回调函数,用于格式化输出提示框的显示内容。返回的内容支持html标签如:<b>, <strong>, <i>, <em>, <br/>, <span> 2

Legend:图例选项

legend用于设置图例相关属性。

参数 描述 默认值
layout 显示形式,支持水平horizontal和垂直vertical horizontal
align 对齐方式。 center
backgroundColor 图例背景色。 null
borderColor 图例边框颜色。 #909090
borderRadius 图例边框角度 5
enabled 是否显示图例 true
floating 是否可以浮动,配合x,y属性。 false
shadow 是否显示阴影 false
style 设置图例内容样式 ''

更多详细信息请参照highcharts官网英文文档:http://api.highcharts.com/highcharts

Highcharts 教程

Vx4_Psj1

Highcharts 是一个用纯JavaScript编写的一个图表库。

Highcharts 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表

Highcharts 免费提供给个人学习、个人网站和非商业用途使用。


HighCharts 特性

  • 兼容性 - 支持所有主流浏览器和移动平台(android、iOS等)。
  • 多设备 - 支持多种设备,如手持设备 iPhone/iPad、平板等。
  • 免费使用 - 开源免费。
  • 轻量 - highcharts.js 内核库大小只有 35KB 左右。
  • 配置简单 - 使用 json 格式配置
  • 动态 - 可以在图表生成后修改。
  • 多维 - 支持多维图表
  • 配置提示工具 - 鼠标移动到图表的某一点上有提示信息。
  • 时间轴 - 可以精确到毫秒。
  • 导出 - 表格可导出为 PDF/ PNG/ JPG / SVG 格式
  • 输出 - 网页输出图表。
  • 可变焦 - 选中图表部分放大,近距离观察图表;
  • 外部数据 - 从服务器载入动态数据。
  • 文字旋转 - 支持在任意方向的标签旋转。

支持的图表类型

HighCharts支持的图表类型:

序号图表类型
1曲线图
2区域图
3饼图
4散点图
5气泡图
6动态图表
7组合图表
83D 图
9测量图
10热点图
11树状图(Treemap)

接下来几个章节我们讲为大家具体介绍 Highcharts 的使用。

Highcharts 环境配置

本章节我们将为大家介绍如何在网页中使用 Highcharts。

Highcharts 依赖于 jQuery,所以在加载 Highcharts 前必须先加载 jQuery 库。

如果你对 jQuery 不熟悉,可以参阅本站的jQuery 教程


安装 jQuery

jQuery 安装可以使用以下两种方式:

  • 1、访问 jquery.com 下载jQuery包。
  • 2、使用百度静态资源库(http://cdn.code.baidu.com/)的jQuery资源:http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js

使用下载的方式

使用下载的方式,在 HTML 页面引入 jQuery 代码:

<head>   <script src="/jquery/jquery.min.js"></script></head>

使用 CDN(推荐)

使用百度静态资源库来加载jQuery库:

<head>   <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" rel="external nofollow" ></script></head>

安装 Highcharts

Highcharts 安装可以使用以下两种方式:

  • 1、访问 highcharts.com 下载 Highcharts 包。
  • 2、使用官方提供的 CDN 地址:http://code.highcharts.com/highcharts.js

使用下载的方式(推荐)

使用下载的方式,在 HTML 页面引入 Highcharts 代码:

<head>   <script src="/highcharts/highcharts.js"></script></head>

使用 CDN

使用官方提供的 CDN 地址:

<head>   <script src="http://code.highcharts.com/highcharts.js" rel="external nofollow" ></script></head>

Highcharts 配置语法

本章节我们将为大家介绍使用 Highcharts 生成图表的一些配置。

第一步:创建 HTML 页面

创建一个 HTML 页面,引入 jQuery 和 Highcharts 库:

文件名:HighchartsTest.htm

<html><head><title>Highcharts 教程 | W3Cschool教程</title>    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" rel="external nofollow"  rel="external nofollow" ></script>   <script src="/try/demo_source/highcharts.js"></script></head><body><div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div><script language="JavaScript">$(document).ready(function() {     });</script></body></html>

实例中 id 为 container 的 div 用于包含 Highcharts 绘制的图表。

第二步: 创建配置文件

Highcharts 库使用 json 格式来配置。

$('#container').highcharts(json);

这里 json 表示使用 json 数据格式和 json 格式的配置来绘制图表。步骤如下:

标题

为图表配置标题:

var title = {  text: '月平均气温'   };

副标题

为图表配置副标题:

var subtitle = {  text: 'Source: 51coolma.cn'};

X 轴

配置要在 X 轴显示的项。

var xAxis = {   categories: ['一月', '二月', '三月', '四月', '五月', '六月'      ,'七月', '八月', '九月', '十月', '十一月', '十二月']};

X 轴

配置要在 Y 轴显示的项。

var yAxis = {   title: {      text: 'Temperature (xB0C)'   },   plotLines: [{      value: 0,      width: 1,      color: '#808080'   }]};

提示信息

配置提示信息:

var tooltip = {   valueSuffix: 'xB0C'}

展示方式

配置图表向右对齐:

var legend = {   layout: 'vertical',   align: 'right',   verticalAlign: 'middle',   borderWidth: 0};

数据

配置图表要展示的数据。每个系列是个数组,每一项在图片中都会生成一条曲线。

var series =  [   {      name: 'Tokyo',      data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2,          26.5, 23.3, 18.3, 13.9, 9.6]   },    {      name: 'New York',      data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8,          24.1, 20.1, 14.1, 8.6, 2.5]   },    {      name: 'Berlin',      data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6,          17.9, 14.3, 9.0, 3.9, 1.0]   },    {      name: 'London',      data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0,          16.6, 14.2, 10.3, 6.6, 4.8]   }];

第三步: 创建 json 数据

组合是由配置信息:

var json = {};json.title = title;json.subtitle = subtitle;json.xAxis = xAxis;json.yAxis = yAxis;json.tooltip = tooltip;json.legend = legend;json.series = series;Step 4: Draw the chart$('#container').highcharts(json);

实例

以下为完整的实例(HighchartsTest.htm):

<html><head><title>Highcharts Tutorial</title>   <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" rel="external nofollow"  rel="external nofollow" ></script>   <script src="/try/demo_source/highcharts.js"></script></head><body><div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div><script language="JavaScript">$(document).ready(function() {   var title = {       text: '月平均气温'      };   var subtitle = {        text: 'Source: 51coolma.cn'   };   var xAxis = {       categories: ['一月', '二月', '三月', '四月', '五月', '六月'              ,'七月', '八月', '九月', '十月', '十一月', '十二月']   };   var yAxis = {      title: {         text: 'Temperature (xB0C)'      },      plotLines: [{         value: 0,         width: 1,         color: '#808080'      }]   };      var tooltip = {      valueSuffix: 'xB0C'   }   var legend = {      layout: 'vertical',      align: 'right',      verticalAlign: 'middle',      borderWidth: 0   };   var series =  [      {         name: 'Tokyo',         data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2,            26.5, 23.3, 18.3, 13.9, 9.6]      },       {         name: 'New York',         data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8,            24.1, 20.1, 14.1, 8.6, 2.5]      },       {         name: 'Berlin',         data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6,            17.9, 14.3, 9.0, 3.9, 1.0]      },       {         name: 'London',         data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0,             16.6, 14.2, 10.3, 6.6, 4.8]      }   ];   var json = {};   json.title = title;   json.subtitle = subtitle;   json.xAxis = xAxis;   json.yAxis = yAxis;   json.tooltip = tooltip;   json.legend = legend;   json.series = series;   $('#container').highcharts(json);});</script></body></html>

以上实例输出结果为:

Highcharts 条形图

本章节我们将为大家介绍几种条形图的类型。

序号图表类型
1基本条形图
2堆叠条形图
3反向条形图

Highcharts 饼图

下表列出了 Highcharts 不同类型的饼图:

序号图表类型
1基本饼图
2显示图例饼图
3圆环图
4半圈圆环图
5向下钻取饼图
6渐变饼图
7单色饼图

Highcharts 散点图

本章节我们将为大家介绍 Highcharts 的散点图。

我们在前面的章节已经了解了 Highcharts 配置语法。接下来让我们来看下 Highcharts 的其他配置。


配置

chart 配置

配置 chart 的 type 为 'scatter' 。chart.type 描述了图表类型。默认值为 "line"。

chart.zoomType 属性可配置图表放大 ,通过拖动鼠标进行缩放,沿x轴或y轴进行缩放,可以设置为:'x','y','xy'。

var chart = {   type: 'scatter',   zoomType: 'xy'};

实例

文件名:highcharts_scatter_basic.htm

<html><head><title>Highcharts 教程 | W3Cschool教程(51coolma.cn)</title>   <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" rel="external nofollow" ></script>   <script src="/try/demo_source/highcharts.js"></script></head><body><div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div><script language="JavaScript">$(document).ready(function() {     var chart = {      type: 'scatter',    zoomType: 'xy'   };   var title = {      text: 'Height Versus Weight of 507 Individuals by Gender'      };   var subtitle = {      text: 'Source: Heinz  2003'     };   var xAxis = {      title: {      enabled: true,         text: 'Height (cm)'      },      startOnTick: true,      endOnTick: true,      showLastLabel: true   };   var yAxis = {      title: {         text: 'Weight (kg)'      }   };   var legend = {         layout: 'vertical',      align: 'left',      verticalAlign: 'top',      x: 100,      y: 70,      floating: true,      backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColor) || '#FFFFFF',      borderWidth: 1   }     var plotOptions = {      scatter: {         marker: {            radius: 5,            states: {               hover: {                  enabled: true,                  lineColor: 'rgb(100,100,100)'               }            }         },         states: {            hover: {               marker: {                  enabled: false               }            }         },         tooltip: {            headerFormat: '<b>{series.name}</b><br>',            pointFormat: '{point.x} cm, {point.y} kg'         }      }   };   var series= [{            name: 'Female',            color: 'rgba(223, 83, 83, .5)',            data: [[161.2, 51.6], [167.5, 59.0], [159.5, 49.2], [157.0, 63.0], [155.8, 53.6],                [170.0, 59.0], [159.1, 47.6], [166.0, 69.8], [176.2, 66.8], [160.2, 75.2],                [172.5, 55.2], [170.9, 54.2], [172.9, 62.5], [153.4, 42.0], [160.0, 50.0],                [147.2, 49.8], [168.2, 49.2], [175.0, 73.2], [157.0, 47.8], [167.6, 68.8],                [159.5, 50.6], [175.0, 82.5], [166.8, 57.2], [176.5, 87.8], [170.2, 72.8],                [174.0, 54.5], [173.0, 59.8], [179.9, 67.3], [170.5, 67.8], [160.0, 47.0],                [154.4, 46.2], [162.0, 55.0], [176.5, 83.0], [160.0, 54.4], [152.0, 45.8],                [162.1, 53.6], [170.0, 73.2], [160.2, 52.1], [161.3, 67.9], [166.4, 56.6],                [168.9, 62.3], [163.8, 58.5], [167.6, 54.5], [160.0, 50.2], [161.3, 60.3],                [167.6, 58.3], [165.1, 56.2], [160.0, 50.2], [170.0, 72.9], [157.5, 59.8],                [167.6, 61.0], [160.7, 69.1], [163.2, 55.9], [152.4, 46.5], [157.5, 54.3],                [168.3, 54.8], [180.3, 60.7], [165.5, 60.0], [165.0, 62.0], [164.5, 60.3],                [156.0, 52.7], [160.0, 74.3], [163.0, 62.0], [165.7, 73.1], [161.0, 80.0],                [162.0, 54.7], [166.0, 53.2], [174.0, 75.7], [172.7, 61.1], [167.6, 55.7],                [151.1, 48.7], [164.5, 52.3], [163.5, 50.0], [152.0, 59.3], [169.0, 62.5],                [164.0, 55.7], [161.2, 54.8], [155.0, 45.9], [170.0, 70.6], [176.2, 67.2],                [170.0, 69.4], [162.5, 58.2], [170.3, 64.8], [164.1, 71.6], [169.5, 52.8],                [163.2, 59.8], [154.5, 49.0], [159.8, 50.0], [173.2, 69.2], [170.0, 55.9],                [161.4, 63.4], [169.0, 58.2], [166.2, 58.6], [159.4, 45.7], [162.5, 52.2],                [159.0, 48.6], [162.8, 57.8], [159.0, 55.6], [179.8, 66.8], [162.9, 59.4],                [161.0, 53.6], [151.1, 73.2], [168.2, 53.4], [168.9, 69.0], [173.2, 58.4],                [171.8, 56.2], [178.0, 70.6], [164.3, 59.8], [163.0, 72.0], [168.5, 65.2],                [166.8, 56.6], [172.7, 105.2], [163.5, 51.8], [169.4, 63.4], [167.8, 59.0],                [159.5, 47.6], [167.6, 63.0], [161.2, 55.2], [160.0, 45.0], [163.2, 54.0],                [162.2, 50.2], [161.3, 60.2], [149.5, 44.8], [157.5, 58.8], [163.2, 56.4],                [172.7, 62.0], [155.0, 49.2], [156.5, 67.2], [164.0, 53.8], [160.9, 54.4],                [162.8, 58.0], [167.0, 59.8], [160.0, 54.8], [160.0, 43.2], [168.9, 60.5],                [158.2, 46.4], [156.0, 64.4], [160.0, 48.8], [167.1, 62.2], [158.0, 55.5],                [167.6, 57.8], [156.0, 54.6], [162.1, 59.2], [173.4, 52.7], [159.8, 53.2],                [170.5, 64.5], [159.2, 51.8], [157.5, 56.0], [161.3, 63.6], [162.6, 63.2],                [160.0, 59.5], [168.9, 56.8], [165.1, 64.1], [162.6, 50.0], [165.1, 72.3],                [166.4, 55.0], [160.0, 55.9], [152.4, 60.4], [170.2, 69.1], [162.6, 84.5],                [170.2, 55.9], [158.8, 55.5], [172.7, 69.5], [167.6, 76.4], [162.6, 61.4],                [167.6, 65.9], [156.2, 58.6], [175.2, 66.8], [172.1, 56.6], [162.6, 58.6],                [160.0, 55.9], [165.1, 59.1], [182.9, 81.8], [166.4, 70.7], [165.1, 56.8],                [177.8, 60.0], [165.1, 58.2], [175.3, 72.7], [154.9, 54.1], [158.8, 49.1],                [172.7, 75.9], [168.9, 55.0], [161.3, 57.3], [167.6, 55.0], [165.1, 65.5],                [175.3, 65.5], [157.5, 48.6], [163.8, 58.6], [167.6, 63.6], [165.1, 55.2],                [165.1, 62.7], [168.9, 56.6], [162.6, 53.9], [164.5, 63.2], [176.5, 73.6],                [168.9, 62.0], [175.3, 63.6], [159.4, 53.2], [160.0, 53.4], [170.2, 55.0],                [162.6, 70.5], [167.6, 54.5], [162.6, 54.5], [160.7, 55.9], [160.0, 59.0],                [157.5, 63.6], [162.6, 54.5], [152.4, 47.3], [170.2, 67.7], [165.1, 80.9],                [172.7, 70.5], [165.1, 60.9], [170.2, 63.6], [170.2, 54.5], [170.2, 59.1],                [161.3, 70.5], [167.6, 52.7], [167.6, 62.7], [165.1, 86.3], [162.6, 66.4],                [152.4, 67.3], [168.9, 63.0], [170.2, 73.6], [175.2, 62.3], [175.2, 57.7],                [160.0, 55.4], [165.1, 104.1], [174.0, 55.5], [170.2, 77.3], [160.0, 80.5],                [167.6, 64.5], [167.6, 72.3], [167.6, 61.4], [154.9, 58.2], [162.6, 81.8],                [175.3, 63.6], [171.4, 53.4], [157.5, 54.5], [165.1, 53.6], [160.0, 60.0],                [174.0, 73.6], [162.6, 61.4], [174.0, 55.5], [162.6, 63.6], [161.3, 60.9],                [156.2, 60.0], [149.9, 46.8], [169.5, 57.3], [160.0, 64.1], [175.3, 63.6],                [169.5, 67.3], [160.0, 75.5], [172.7, 68.2], [162.6, 61.4], [157.5, 76.8],                [176.5, 71.8], [164.4, 55.5], [160.7, 48.6], [174.0, 66.4], [163.8, 67.3]]        }, {            name: 'Male',            color: 'rgba(119, 152, 191, .5)',            data: [[174.0, 65.6], [175.3, 71.8], [193.5, 80.7], [186.5, 72.6], [187.2, 78.8],                [181.5, 74.8], [184.0, 86.4], [184.5, 78.4], [175.0, 62.0], [184.0, 81.6],                [180.0, 76.6], [177.8, 83.6], [192.0, 90.0], [176.0, 74.6], [174.0, 71.0],                [184.0, 79.6], [192.7, 93.8], [171.5, 70.0], [173.0, 72.4], [176.0, 85.9],                [176.0, 78.8], [180.5, 77.8], [172.7, 66.2], [176.0, 86.4], [173.5, 81.8],                [178.0, 89.6], [180.3, 82.8], [180.3, 76.4], [164.5, 63.2], [173.0, 60.9],                [183.5, 74.8], [175.5, 70.0], [188.0, 72.4], [189.2, 84.1], [172.8, 69.1],                [170.0, 59.5], [182.0, 67.2], [170.0, 61.3], [177.8, 68.6], [184.2, 80.1],                [186.7, 87.8], [171.4, 84.7], [172.7, 73.4], [175.3, 72.1], [180.3, 82.6],                [182.9, 88.7], [188.0, 84.1], [177.2, 94.1], [172.1, 74.9], [167.0, 59.1],                [169.5, 75.6], [174.0, 86.2], [172.7, 75.3], [182.2, 87.1], [164.1, 55.2],                [163.0, 57.0], [171.5, 61.4], [184.2, 76.8], [174.0, 86.8], [174.0, 72.2],                [177.0, 71.6], [186.0, 84.8], [167.0, 68.2], [171.8, 66.1], [182.0, 72.0],                [167.0, 64.6], [177.8, 74.8], [164.5, 70.0], [192.0, 101.6], [175.5, 63.2],                [171.2, 79.1], [181.6, 78.9], [167.4, 67.7], [181.1, 66.0], [177.0, 68.2],                [174.5, 63.9], [177.5, 72.0], [170.5, 56.8], [182.4, 74.5], [197.1, 90.9],                [180.1, 93.0], [175.5, 80.9], [180.6, 72.7], [184.4, 68.0], [175.5, 70.9],                [180.6, 72.5], [177.0, 72.5], [177.1, 83.4], [181.6, 75.5], [176.5, 73.0],                [175.0, 70.2], [174.0, 73.4], [165.1, 70.5], [177.0, 68.9], [192.0, 102.3],                [176.5, 68.4], [169.4, 65.9], [182.1, 75.7], [179.8, 84.5], [175.3, 87.7],                [184.9, 86.4], [177.3, 73.2], [167.4, 53.9], [178.1, 72.0], [168.9, 55.5],                [157.2, 58.4], [180.3, 83.2], [170.2, 72.7], [177.8, 64.1], [172.7, 72.3],                [165.1, 65.0], [186.7, 86.4], [165.1, 65.0], [174.0, 88.6], [175.3, 84.1],                [185.4, 66.8], [177.8, 75.5], [180.3, 93.2], [180.3, 82.7], [177.8, 58.0],                [177.8, 79.5], [177.8, 78.6], [177.8, 71.8], [177.8, 116.4], [163.8, 72.2],                [188.0, 83.6], [198.1, 85.5], [175.3, 90.9], [166.4, 85.9], [190.5, 89.1],                [166.4, 75.0], [177.8, 77.7], [179.7, 86.4], [172.7, 90.9], [190.5, 73.6],                [185.4, 76.4], [168.9, 69.1], [167.6, 84.5], [175.3, 64.5], [170.2, 69.1],                [190.5, 108.6], [177.8, 86.4], [190.5, 80.9], [177.8, 87.7], [184.2, 94.5],                [176.5, 80.2], [177.8, 72.0], [180.3, 71.4], [171.4, 72.7], [172.7, 84.1],                [172.7, 76.8], [177.8, 63.6], [177.8, 80.9], [182.9, 80.9], [170.2, 85.5],                [167.6, 68.6], [175.3, 67.7], [165.1, 66.4], [185.4, 102.3], [181.6, 70.5],                [172.7, 95.9], [190.5, 84.1], [179.1, 87.3], [175.3, 71.8], [170.2, 65.9],                [193.0, 95.9], [171.4, 91.4], [177.8, 81.8], [177.8, 96.8], [167.6, 69.1],                [167.6, 82.7], [180.3, 75.5], [182.9, 79.5], [176.5, 73.6], [186.7, 91.8],                [188.0, 84.1], [188.0, 85.9], [177.8, 81.8], [174.0, 82.5], [177.8, 80.5],                [171.4, 70.0], [185.4, 81.8], [185.4, 84.1], [188.0, 90.5], [188.0, 91.4],                [182.9, 89.1], [176.5, 85.0], [175.3, 69.1], [175.3, 73.6], [188.0, 80.5],                [188.0, 82.7], [175.3, 86.4], [170.5, 67.7], [179.1, 92.7], [177.8, 93.6],                [175.3, 70.9], [182.9, 75.0], [170.8, 93.2], [188.0, 93.2], [180.3, 77.7],                [177.8, 61.4], [185.4, 94.1], [168.9, 75.0], [185.4, 83.6], [180.3, 85.5],                [174.0, 73.9], [167.6, 66.8], [182.9, 87.3], [160.0, 72.3], [180.3, 88.6],                [167.6, 75.5], [186.7, 101.4], [175.3, 91.1], [175.3, 67.3], [175.9, 77.7],                [175.3, 81.8], [179.1, 75.5], [181.6, 84.5], [177.8, 76.6], [182.9, 85.0],                [177.8, 102.5], [184.2, 77.3], [179.1, 71.8], [176.5, 87.9], [188.0, 94.3],                [174.0, 70.9], [167.6, 64.5], [170.2, 77.3], [167.6, 72.3], [188.0, 87.3],                [174.0, 80.0], [176.5, 82.3], [180.3, 73.6], [167.6, 74.1], [188.0, 85.9],                [180.3, 73.2], [167.6, 76.3], [183.0, 65.9], [183.0, 90.9], [179.1, 89.1],                [170.2, 62.3], [177.8, 82.7], [179.1, 79.1], [190.5, 98.2], [177.8, 84.1],                [180.3, 83.2], [180.3, 83.2]]            }   ];              var json = {};      json.chart = chart;    json.title = title;      json.subtitle = subtitle;    json.legend = legend;   json.xAxis = xAxis;   json.yAxis = yAxis;     json.series = series;   json.plotOptions = plotOptions;   $('#container').highcharts(json);  });</script></body></html>

以上实例输出结果为:

Highcharts 气泡图

本章节我们将为大家介绍 Highcharts 的气泡图。

我们在前面的章节已经了解了 Highcharts 配置语法。接下来让我们来看下 Highcharts 的其他配置。


配置

chart 配置

配置 chart 的 type 为 'bubble' 。chart.type 描述了图表类型。默认值为 "line"。

chart.zoomType 属性可配置图表放大 ,通过拖动鼠标进行缩放,沿x轴或y轴进行缩放,可以设置为:'x','y','xy'。

var chart = {   type: 'bubble',   zoomType: 'xy'};

实例

文件名:highcharts_bubble_basic.htm

<html><head><title>Highcharts 教程 | W3Cschool教程(51coolma.cn)</title>   <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" rel="external nofollow"  rel="external nofollow" ></script>   <script src="/try/demo_source/highcharts.js"></script>   <script src="http://code.highcharts.com/highcharts-more.js" rel="external nofollow"  rel="external nofollow" ></script></head><body><div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div><script language="JavaScript">$(document).ready(function() {     var chart = {      type: 'bubble',      zoomType: 'xy'   };   var title = {      text: 'Highcharts Bubbles'      };      var series= [{            data: [[97, 36, 79], [94, 74, 60], [68, 76, 58], [64, 87, 56], [68, 27, 73], [74, 99, 42], [7, 93, 87], [51, 69, 40], [38, 23, 33], [57, 86, 31]]        }, {            data: [[25, 10, 87], [2, 75, 59], [11, 54, 8], [86, 55, 93], [5, 3, 58], [90, 63, 44], [91, 33, 17], [97, 3, 56], [15, 67, 48], [54, 25, 81]]        }, {            data: [[47, 47, 21], [20, 12, 4], [6, 76, 91], [38, 30, 60], [57, 98, 64], [61, 17, 80], [83, 60, 13], [67, 78, 75], [64, 12, 10], [30, 77, 82]]      }   ];              var json = {};      json.chart = chart;    json.title = title;        json.series = series;      $('#container').highcharts(json);  });</script></body></html>

以上实例输出结果为:

Highcharts 饼图Highcharts 饼图


3D 气泡图

series.marker

设置 series.marker 渐变让其看起来有 3D 的效果。

marker: {   fillColor: {      radialGradient: { cx: 0.4, cy: 0.3, r: 0.7 },      stops: [         [0, 'rgba(255,255,255,0.5)'],         [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0.5).get('rgba')]      ]   }}

实例

文件名:highcharts_bubble_3d.htm

<html><head><title>Highcharts 教程 | W3Cschool教程(51coolma.cn)</title>   <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" rel="external nofollow"  rel="external nofollow" ></script>   <script src="/try/demo_source/highcharts.js"></script>   <script src="http://code.highcharts.com/highcharts-more.js" rel="external nofollow"  rel="external nofollow" ></script></head><body><div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div><script language="JavaScript">$(document).ready(function() {     var chart = {      type: 'bubble',      plotBorderWidth: 1,      zoomType: 'xy'   };   var title = {      text: 'Highcharts bubbles with radial gradient fill'      };      var xAxis = {      gridLineWidth: 1   };   var yAxis = {      startOnTick: false,      endOnTick: false   };   var series= [{           data: [                [9, 81, 63],                [98, 5, 89],                [51, 50, 73],                [41, 22, 14],                [58, 24, 20],                [78, 37, 34],                [55, 56, 53],                [18, 45, 70],                [42, 44, 28],                [3, 52, 59],                [31, 18, 97],                [79, 91, 63],                [93, 23, 23],                [44, 83, 22]            ],            marker: {                fillColor: {                    radialGradient: { cx: 0.4, cy: 0.3, r: 0.7 },                    stops: [                        [0, 'rgba(255,255,255,0.5)'],                        [1, Highcharts.Color(Highcharts.getOptions().colors[0]).setOpacity(0.5).get('rgba')]                    ]                }            }        }, {            data: [                [42, 38, 20],                [6, 18, 1],                [1, 93, 55],                [57, 2, 90],                [80, 76, 22],                [11, 74, 96],                [88, 56, 10],                [30, 47, 49],                [57, 62, 98],                [4, 16, 16],                [46, 10, 11],                [22, 87, 89],                [57, 91, 82],                [45, 15, 98]            ],            marker: {                fillColor: {                    radialGradient: { cx: 0.4, cy: 0.3, r: 0.7 },                    stops: [                        [0, 'rgba(255,255,255,0.5)'],                        [1, Highcharts.Color(Highcharts.getOptions().colors[1]).setOpacity(0.5).get('rgba')]                    ]                }            }      }   ];              var json = {};      json.chart = chart;    json.title = title;      json.xAxis = xAxis;      json.yAxis = yAxis;         json.series = series;      $('#container').highcharts(json);  });</script></body></html>

以上实例输出结果为:

Highcharts 动态图

本章节我们将为大家介绍 Highcharts 的动态图。

我们在前面的章节已经了解了 Highcharts 配置语法。接下来让我们来看下 Highcharts 的其他配置。


每秒更新曲线图

chart.events

chart.event 属性中添加 load 方法(图表加载事件)。在 1000 毫秒内随机产生数据点并生成图表。

chart: {   events: {      load: function () {         // 图表每秒更新一次         var series = this.series[0];         setInterval(function () {            var x = (new Date()).getTime(), // 当期时间            y = Math.random();            series.addPoint([x, y], true, true);         }, 1000);      }   }}

实例

文件名:highcharts_dynamic_spline.htm

<html><head><title>Highcharts 教程 | W3Cschool教程(51coolma.cn)</title>   <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" rel="external nofollow"  rel="external nofollow" ></script>   <script src="/try/demo_source/highcharts.js"></script></head><body><div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div><script language="JavaScript">$(document).ready(function() {     var chart = {      type: 'spline',      animation: Highcharts.svg, // don't animate in IE < IE 10.       marginRight: 10,       events: {          load: function () {             // set up the updating of the chart each second             var series = this.series[0];             setInterval(function () {                var x = (new Date()).getTime(), // current time                y = Math.random();                series.addPoint([x, y], true, true);             }, 1000);          }       }    };    var title = {       text: 'Live random data'       };       var xAxis = {       type: 'datetime',       tickPixelInterval: 150    };    var yAxis = {       title: {          text: 'Value'       },       plotLines: [{          value: 0,          width: 1,          color: '#808080'       }]    };    var tooltip = {       formatter: function () {       return '<b>' + this.series.name + '</b><br/>' +         Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x) + '<br/>' +         Highcharts.numberFormat(this.y, 2);      }   };   var plotOptions = {      area: {         pointStart: 1940,         marker: {            enabled: false,            symbol: 'circle',            radius: 2,            states: {               hover: {                 enabled: true               }            }         }      }   };   var legend = {      enabled: false   };   var exporting = {      enabled: false   };   var series= [{      name: 'Random data',      data: (function () {         // generate an array of random data         var data = [],time = (new Date()).getTime(),i;         for (i = -19; i <= 0; i += 1) {             data.push({                x: time + i * 1000,                y: Math.random()             });          }          return data;       }())        }];                var json = {};       json.chart = chart;     json.title = title;         json.tooltip = tooltip;    json.xAxis = xAxis;    json.yAxis = yAxis;     json.legend = legend;      json.exporting = exporting;       json.series = series;    json.plotOptions = plotOptions;            Highcharts.setOptions({       global: {          useUTC: false       }    });    $('#container').highcharts(json);    }); </script></body></html>

以上实例输出结果为:

Highcharts 饼图Highcharts 饼图


通过点击添加数据

chart.events

在 chart.event 属性中添加 click 方法(整个图表的绘图区上所发生的点击事件)。该方法在图表绘图区上发生点击时会添加新的数据点。

chart: {   events: {      click: function (e) {         // 获取点击坐标和数据项         var x = e.xAxis[0].value,         y = e.yAxis[0].value,         series = this.series[0];         // 添加点击的坐标         series.addPoint([x, y]);      }   }}

实例

文件名:highcharts_dynamic_click.htm

<html><head><title>Highcharts 教程 | W3Cschool教程(51coolma.cn)</title>   <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" rel="external nofollow"  rel="external nofollow" ></script>   <script src="/try/demo_source/highcharts.js"></script></head><body><div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div><script language="JavaScript">$(document).ready(function() {     var chart = {      type: 'scatter',   margin: [70, 50, 60, 80],         events: {         click: function (e) {            // find the clicked values and the series            var x = e.xAxis[0].value,            y = e.yAxis[0].value,            series = this.series[0];            // Add it            series.addPoint([x, y]);         }      }   };   var title = {      text: 'User supplied data'      };      var subtitle = {      text: 'Click the plot area to add a point. Click a point to remove it.'   };   var xAxis = {      gridLineWidth: 1,      minPadding: 0.2,      maxPadding: 0.2,      maxZoom: 60   };   var yAxis = {      title: {         text: 'Value'      },      minPadding: 0.2,      maxPadding: 0.2,      maxZoom: 60,      plotLines: [{         value: 0,         width: 1,         color: '#808080'      }]   };      var legend = {      enabled: false   };   var exporting = {      enabled: false   };   var plotOptions = {      series: {         lineWidth: 1,         point: {            events: {               'click': function () {                  if (this.series.data.length > 1) {                     this.remove();                  }               }            }         }      }   };          var series= [{      data: [[20, 20], [80, 80]]   }];              var json = {};      json.chart = chart;    json.title = title;        json.subtitle = subtitle;   json.xAxis = xAxis;   json.yAxis = yAxis;    json.legend = legend;     json.exporting = exporting;     json.series = series;       json.plotOptions = plotOptions;       $('#container').highcharts(json);  });</script></body></html>

以上实例输出结果为:

Highcharts 组合图

本章节我们将为大家介绍 Highcharts 的组合图。

序号图表类型
1柱形图,线条图,饼图
2双Y轴, 柱形图,线条图
3多Y轴
4散点图上添加回归线

Highcharts 3D图

本章节我们将为大家介绍 Highcharts 的3D图。

序号图表类型
13D 柱形图
2带空值的3D 柱形图
3堆叠 3D 柱形图
43D 饼图
53D 圆环图

Highcharts 测量图

本章节我们将为大家介绍 Highcharts 的测量图。

序号图表类型
1测量图
2圆形进度条式测量图
3时钟
4双轴车速表
5音量表(VU Meter)

Highcharts 树状图(Treemap)

本章节我们将为大家介绍 Highcharts 的热点图。

我们在前面的章节已经了解了 Highcharts 配置语法。接下来让我们来看下 Highcharts 的其他配置。


树状图

series 配置

设置 series 的 type 属性为 treemap ,series.type 描述了数据列类型。默认值为 "line"。

var chart = {   type: 'treemap'};

实例

文件名:highcharts_tree_map.htm

<html><head><title>Highcharts 教程 | W3Cschool教程(51coolma.cn)</title>   <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" ></script>   <script src="/try/demo_source/highcharts.js"></script>   <script src="http://code.highcharts.com/modules/treemap.js" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" ></script>       <script src="http://code.highcharts.com/modules/heatmap.js" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" ></script>  </head><body><div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div><script language="JavaScript">$(document).ready(function() {       var title = {      text: 'Highcharts Treemap'      };             var colorAxis = {      minColor: '#FFFFFF',      maxColor: Highcharts.getOptions().colors[0]   };      var series= [{     type: "treemap",     layoutAlgorithm: 'squarified',     data: [{        name: 'A',        value: 6,        colorValue: 1     }, {        name: 'B',        value: 6,        colorValue: 2     }, {        name: 'C',        value: 4,        colorValue: 3     }, {        name: 'D',        value: 3,        colorValue: 4     }, {        name: 'E',        value: 2,        colorValue: 5     }, {        name: 'F',        value: 2,        colorValue: 6     }, {        name: 'G',        value: 1,        colorValue: 7     }]   }];              var json = {};        json.title = title;             json.colorAxis = colorAxis;      json.series = series;             $('#container').highcharts(json);});</script></body></html>

以上实例输出结果为:


不同等级树状图

以下实例使用不同颜色来标识不同等级的树状图。

实例

文件名:highcharts_tree_levels.htm(完整源码请点击实例查看)

<html><head><title>Highcharts 教程 | W3Cschool教程(51coolma.cn)</title>   <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" ></script>   <script src="/try/demo_source/highcharts.js"></script>   <script src="http://code.highcharts.com/modules/treemap.js" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" ></script>       <script src="http://code.highcharts.com/modules/heatmap.js" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" ></script>  </head><body><div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div><script language="JavaScript">$(document).ready(function() {       var title = {      text: 'Fruit consumption'      };              var series = [{      type: "treemap",      layoutAlgorithm: 'stripes',      alternateStartingDirection: true,      levels: [{         level: 1,         layoutAlgorithm: 'sliceAndDice',         dataLabels: {            enabled: true,            align: 'left',            verticalAlign: 'top',            style: {               fontSize: '15px',               fontWeight: 'bold'            }         }      }],      data: [{         id: 'A',         name: 'Apples',         color: "#EC2500"      }, {         id:'B',         name: 'Bananas',         color: "#ECE100"      }, {         id: 'O',         name: 'Oranges',         color: '#EC9800'      }, {         name: 'Anne',         parent: 'A',         value: 5      }, {         name: 'Rick',         parent: 'A',         value: 3      }, {         name: 'Peter',         parent: 'A',         value: 4      }, {         name: 'Anne',         parent: 'B',         value: 4      }, {         name: 'Rick',         parent: 'B',         value: 10      }, {         name: 'Peter',         parent: 'B',         value: 1      }, {         name: 'Anne',         parent: 'O',         value: 1      }, {         name: 'Rick',         parent: 'O',         value: 3      }, {         name: 'Peter',         parent: 'O',         value: 3      }, {         name: 'Susanne',         parent: 'Kiwi',         value: 2,         color: '#9EDE00'      }]   }];          var json = {};        json.title = title;               json.series = series;             $('#container').highcharts(json);});</script></body></html>

以上实例输出结果为:


大数据量树状图

以下实例颜色了大数据量的树状图,具体实例数据可通过点击"尝试一下"查看。

文件名:highcharts_tree_largemap.htm

<html><head><title>Highcharts Tutorial</title>   <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" ></script>   <script src="/try/demo_source/highcharts.js"></script>       <script src="http://code.highcharts.com/modules/treemap.js" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" ></script>       <script src="http://code.highcharts.com/modules/heatmap.js" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" ></script>  </head><body><div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div><script language="JavaScript">$(document).ready(function() { //省略部分 js 代码 var data = {……}; var points = [],     region_p,     region_val,       region_i,     country_p,        country_i,        cause_p,      cause_i,      cause_name = [];  cause_name['Communicable & other Group I'] = 'Communicable diseases'; cause_name['Noncommunicable diseases'] = 'Non-communicable diseases'; cause_name['Injuries'] = 'Injuries';  region_i = 0; for (var region in data) {        region_val = 0;       region_p = {          id: "id_" + region_i,           name: region,         color: Highcharts.getOptions().colors[region_i]       };        country_i = 0;        for (var country in data[region]) {           country_p = {             id: region_p.id + "_" + country_i,              name: country,                parent: region_p.id           };            points.push(country_p);           cause_i = 0;          for (var cause in data[region][country]) {                cause_p = {                   id: country_p.id + "_" + cause_i,                   name: cause_name[cause],                  parent: country_p.id,                 value: Math.round(+data[region][country][cause])              };                region_val += cause_p.value;              points.push(cause_p);             cause_i++;            }         country_i++;      }     region_p.value = Math.round(region_val / country_i);      points.push(region_p);        region_i++;   }   var chart = {      renderTo: 'container'   };   var title = {      text: 'Global Mortality Rate 2012, per 100 000 population'      };              var subtitle: {      text: 'Click points to drill down. Source: <a href="http://apps.who.int/gho/data/node.main.12?lang=en" rel="external nofollow" target="_blank" >WHO</a>.'   };      var series = [{      type: "treemap",      layoutAlgorithm: 'squarified',      allowDrillToNode: true,      dataLabels: {         enabled: false      },      levelIsConstant: false,      levels: [{         level: 1,         dataLabels: {            enabled: true         },      borderWidth: 3      }],      data: points   }];          var json = {};        json.title = title;               json.series = series;             $('#container').highcharts(json);});</script></body></html>

以上实例输出结果为: