Highcharts 教程
1. Highcharts 教程 2. Highcharts 环境配置 3. Highcharts 配置语法 4. Highcharts 曲线图 5. Highcharts 区域图 6. Highcharts 条形图 7. Highcharts 柱形图 8. Highcharts 饼图 9. Highcharts 散点图 10. Highcharts 气泡图 11. Highcharts 动态图 12. Highcharts 组合图 13. Highcharts 3D图 14. Highcharts 测量图 15. Highcharts 树状图(Treemap)

Highcharts 树状图(Treemap)

Highcharts 树状图(Treemap)

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

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


树状图

series 配置

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


var chart = {

   type: 'treemap'

};

实例

文件名:highcharts_tree_map.htm


<html>

<head>

<meta charset="UTF-8" />

<title>Highcharts 教程 | (.com)</title>

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

<script src="http://code.highcharts.com/highcharts.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>

以上实例输出结果为:


不同等级树状图

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

实例

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


<html>

<head>

<meta charset="UTF-8" />

<title>Highcharts 教程 | (.com)</title>

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

<script src="http://code.highcharts.com/highcharts.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>

以上实例输出结果为:


大数据量树状图

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

文件名:highcharts_tree_largemap.htm


<html>

<head>

<meta charset="UTF-8" />

<title>Highcharts 教程 | (.com)</title>

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

<script src="http://code.highcharts.com/highcharts.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>

以上实例输出结果为: