因此,我有6个系列,它们在单个highcharts树形图中使用,每个系列都是它自己的较小的树形图。我无法使该系列的每个名称都出现在图例中,因为showInLegend属性位于data属性之上。
我尝试了两种不同的配置。首先:系列设置为我的chartData变量,如下所示: [{ 名称:键, 堆栈:键, id:键, showInLegend:是的, 颜色:颜色[键], 数据:切片 }, {...}] 依此类推。这给了我一个单一的树形图,其中每个系列都位于前一个系列的下方,也就是它们彼此堆叠。
如果将它们全部合并为一个数据数组,则可以获得所需的正确图表格式,其中每个单独的系列均按颜色/父级等进行分组。这是使用无数据的数据点完成的,如下所示: { 名称, ID, showInLegend, 颜色 }
,那么其他每个点将是: { 名称 父母 值 }
然后将这个大数据数组提供给一个序列数组,如下所示: [{ 类型:“ treemap”, layoutAlgorithm:“平方”, 数据:上方的dataArray, }]
同样,我希望图表是多个树状图,而不是一个卡在另一个树上。但是我也需要图例来显示所有这些系列的名称
答案 0 :(得分:0)
您可以使用非官方的legendType: 'point'
属性并删除afterGetAllItems
图例事件中的不必要元素:
var H = Highcharts;
H.addEvent(H.Legend, 'afterGetAllItems', function(e) {
e.allItems.splice(2, 6);
});
H.chart('container', {
series: [{
legendType: 'point',
showInLegend: true,
...
}]
});
实时演示: https://jsfiddle.net/BlackLabel/gp2qmvac/
API参考: https://api.highcharts.com/highcharts/series.treemap.showInLegend