Highcharts 在 3.0.8 开始提供内置的钻取功能功能,使用钻取功能需要额外的引入相关的模块文件
下钻的基础使用是指定数据点的 属性,其值为保存在根属性 drilldown.series
的数据列的 ID,也就是数据点关联着隐藏的数据列(保存在 drilldown数据列数组里),当数据点被点击时,这个隐藏的数据列会被加载到图表中并替换当前数据列。对于柱状图、条形图及饼图,下钻过成会用动画效果来过渡。
对于多级下钻,可以继续在 drilldown.series
的数据点里配置 drilldown
属性。
series: [{
name: 'Things',
colorByPoint: true,
data: [{
name: 'Animals',
y: 5,
drilldown: 'animals'
}, {
name: 'Fruits',
y: 2,
}, {
name: 'Cars',
drilldown: 'cars'
}]
}],
drilldown: {
series: [{
id: 'animals',
data: [
['Cats', 4],
['Dogs', 2],
['Cows', 1],
['Sheep', 2],
['Pigs', 1]
}, {
id: 'fruits',
data: [
['Oranges', 2]
]
}, {
id: 'cars',
data: [
['Toyota', 4],
['Opel', 2],
['Volkswagen', 2]
]
}]
}
钻取相关的事件包括 和 chart.events.drillup
。这些事件在异步钻取或高级使用是非常有用
为了区别普通数据点和可钻取的数据点,我们提供了设置可钻取 X 坐标轴样式(activeAxisLabelStyle)及数据标签样式()设置
在大多数情况下,我们需要动态的加载下钻的数据列数据,在这种情况下,可以设置数据点的 drilldown = true
,然后在钻取事件里做进一步的数据获取操作。当数据获取完毕后,我们可以通过 Chart.addSeriesAsDrilldown 函数来讲下钻的数据列添加到图表中。
对于下钻包含多个数据列的情况下,可以先调用 Chart.addSingleSeriesAsDrilldown
函数来依次添加数据列,最后调用 Chart.applyDrilldown
来应用所有的下钻数据列。