我今天正在实施它,论坛帖子上的解决方案也奏效了。但是,我需要制作一个自定义解决方案,这是一个包含3列的2级向下钻取图表。为了澄清,论坛上提供的解决方案仅适用于第一个图表上的2列,然后是钻取中的1列。我的图表在初始图表和向下钻取图表上都需要3列。
我无法理解深入过渡以及它是如何工作的,因此我很难自定义代码。实现中还有相当多的重复代码,因此如果有人对Highcharts明细有更好的理解,请随时分享一些关于如何使其工作的建议。
代码的关键部分是
var drilldown = this.drilldown;
if (drilldown) { // drill down
setChart(drilldown.name, drilldown.categories, drilldown.data, drilldown.color);
} else { // restore
setChart(name, categories, data);
}
和setChart():
function setChart(name, categories, data) {
chart.counters.color = 0;
chart.xAxis[0].setCategories(categories);
while (chart.series.length > 0){
chart.series[0].remove(true);
}
for (var i = 0; i < data.length; i++) {
chart.addSeries({
name: name[i],
data: data[i]
});
}
}
如何确定this.drilldown和setChart()的输入是使其正确的关键。
我尝试过的小提琴是:http://jsfiddle.net/dTkh4/2/
答案 0 :(得分:0)
答案在
var drilldown = this.drilldown;
if (drilldown) { // drill down
setChart(drilldown.name, drilldown.categories, drilldown.data);
} else { // restore
setChart([name1, name2, name3], categories1, [data1, data2, data3]);
}
要使钻取视图显示3个拆分列,drilldown.name和drilldown.data需要是3的嵌套数组,并且每个子数组都包含每个类别的值。对于还原部分,添加name3以在还原时显示3列而不是2。