Highcharts 树状图(Treemap)
本章节我们将为大家介绍 Highcharts 的热点图。
我们在前面的章节已经了解了 Highcharts 配置语法。接下来让我们来看下 Highcharts 的其他配置。
树状图
series 配置
设置 series 的 type 属性为 treemap ,series.type 描述了数据列类型。默认值为 "line"。
var chart = { type: ''treemap'' };
w一 ▄3一 ▄x一 ▄u一 ▄e.com提供本在线速查手册,请勿盗用!
实例
文件名:highcharts_tree_map.htm
<html> <head> <meta charset="UTF-8" /> <title>Highcharts 教程 | W3xue教程(w3xue.com)</title> <script src="/js/jquery-2.1.4.min.js"></script> <script src="/js/hc/highcharts5.0.6.js"></script> <script src="http://code.highcharts.com/modules/treemap.js"></script> <script src="http://code.highcharts.com/modules/heatmap.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: ''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>
w一 ▄3一 ▄x一 ▄u一 ▄e.com提供本在线速查手册,请勿盗用!
以上实例输出结果为:
不同等级树状图
以下实例使用不同颜色来标识不同等级的树状图。
实例
文件名:highcharts_tree_levels.htm(完整源码请点击实例查看)
<html> <head> <meta charset="UTF-8" /> <title>Highcharts 教程 | W3xue教程(w3xue.com)</title> <script src="/js/jquery-2.1.4.min.js"></script> <script src="/js/hc/highcharts5.0.6.js"></script> <script src="http://code.highcharts.com/modules/treemap.js"></script> <script src="http://code.highcharts.com/modules/heatmap.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: ''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>
w一 ▄3一 ▄x一 ▄u一 ▄e.com提供本在线速查手册,请勿盗用!
以上实例输出结果为:
大数据量树状图
以下实例颜色了大数据量的树状图,具体实例数据可通过点击"尝试一下"查看。
文件名:highcharts_tree_largemap.htm
<html> <head> <meta charset="UTF-8" /> <title>Highcharts 教程 | W3xue教程(w3xue.com)</title> <script src="/js/jquery-2.1.4.min.js"></script> <script src="/js/hc/highcharts5.0.6.js"></script> <script src="http://code.highcharts.com/modules/treemap.js"></script> <script src="http://code.highcharts.com/modules/heatmap.js"></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">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>
w一 ▄3一 ▄x一 ▄u一 ▄e.com提供本在线速查手册,请勿盗用!
以上实例输出结果为: