2016-11-18 138 views
0

大家好!我想创建一个特定的HighChart,但我不知道我应该如何格式化我的drilldown数据,我在互联网上找不到任何示例!HighCharts:深入堆积列

这JSfiddle显示我得到多远:http://jsfiddle.net/ma50685a/37/

HighChart假设可视化已删除的注释。前两个栏是平均数量的过滤评论。当深入挖掘被激活时,我会堆积一堆网站和四类为什么评论被过滤(讨厌的评论,垃圾邮件等)。

有人可以帮我解决这个问题,或者有一个如何格式化钻取数据的例子吗?

回答

1

有你需要多个系列堆叠柱,有DRIL后多个系列你必须动态地添加系列,例如在钻取事件。

下面的对象的每个属性代表一个系列,它与顶级系列名称相关联。 点击第一列后会出现对象'1',并且会跨越4个类别。

var drilldowns = { 
      1: { 
      stacking: 'normal', 
      name: 'facebook', 
      color: Highcharts.getOptions().colors[0], 
      data: [ 
       ['nasty comments', 2], 
       ['spam', 3], 
       ['category-3', 10], 
       ['category-4', 15] 
      ] 
      }, 

      66: { 
      name: 'second-column-drilldown', 
      data: [ 
       ['second-column-drilldown-point', 10] 
      ] 
      } 
     }; 

下一个对象“1”将与从drilldowns.1对象中的数据被堆叠:

var drilldowns2 = { 
      1: { 
      color: Highcharts.getOptions().colors[1], 
      colorIndex: 1, 
      stacking: 'normal', 
      name: 'youtube', 
      data: [ 
       ['nasty comments', 5], 
       ['spam', 10], 
       ['category-3', 10], 
       ['category-4', 15] 
      ] 
      } 
     }; 

最后必须加上系列和下钻进行烧成。

var series = drilldowns[e.point.name], 
      series2 = drilldowns2[e.point.name], 
      series3 = drilldowns3[e.point.name]; 

     this.addSingleSeriesAsDrilldown(e.point, series); 
     this.addSingleSeriesAsDrilldown(e.point, series2); 
     this.addSingleSeriesAsDrilldown(e.point, series3); 
     this.applyDrilldown(); 

例如:https://jsfiddle.net/ahjkouuh/

+0

谢谢!我会测试它! –

+0

太棒了!我编辑了一下代码,所以它会接受来自文件的JSON数据,它效果很好!只用颜色挣扎一下,但是可以修复!非常感谢 –