Highcharts Treemap具有多个系列:让他们全部在传奇中展示



所以我在单个HighCharts Treemap图表中使用了6个系列,每个系列都是自己的,较小的树地图。我无法让该系列的每个名称出现在传奇中,因为ShowInlegend属性是数据属性的级别。

我尝试了两种不同的配置。第一:系列设置为我的ChartData变量,看起来像: [{{ 名称:钥匙, 堆栈:钥匙, id:键, showinlegend:是的, 颜色:颜色[键], 数据:切成薄片 },, {...}]等等。这为我提供了一个单一的三纲图表,每个系列都在上一个系列的下方,也就是它们彼此堆叠在一起。

如果我将它们全部组合到一个单个数据阵列中,我可以获得我要寻找的正确图表格式,每个单独的系列均按颜色/父级分组。这是使用无数据的数据点完成的,例如:{ 姓名, ID, Showinlegend, 颜色}

,其他每个点将是: { 姓名 父母 价值 }

然后将这个大数据阵列提供给看起来像:[{{ 类型:" treemap", layoutalgorithm:"平方", 数据:从上方的数据阵列,}]

再次,我希望图表是多个树地图,而不是另一个堵塞。但是我也需要传奇来显示所有这些系列的名称

您可以使用非正式的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

docs: https://www.highcharts.com/docs/extgending-highcharts

相关内容

最新更新