在 highcharts 样式模式下按父节点着色树图
Coloring treemap by parent node in highcharts styled mode
我正在尝试在 highcharts 样式模式下创建一个树状图,并按照 this example 中的父节点为节点着色。
在样式模式下,我能够实现此目的的唯一方法是为每个子节点单独分配一个 (css) 类名:
{
name: 'Anne',
parent: 'A',
value: 5,
className: 'highcharts-color-1'
}
看我的例子:https://jsfiddle.net/kimpalita/1tLue9s0/
我想知道是否有人能够建议一种更 elegant/simplified 的方法来做到这一点,而不必在每个数据点中重复 className 属性。
提前致谢!
我认为父节点及其子节点没有 css class 来区别于其他节点。但是您仍然可以添加代码以向其子节点添加父 class 名称,这样您就可以省略为每个点指定 class 名称。
chart: {
events: {
load: function() {
this.series[0].data.forEach(p => {
var parent = p.parent;
var className = parent && this.get(parent).className;
if (className !== undefined) {
p.graphic.addClass(className)
}
})
}
}
},
我正在尝试在 highcharts 样式模式下创建一个树状图,并按照 this example 中的父节点为节点着色。
在样式模式下,我能够实现此目的的唯一方法是为每个子节点单独分配一个 (css) 类名:
{
name: 'Anne',
parent: 'A',
value: 5,
className: 'highcharts-color-1'
}
看我的例子:https://jsfiddle.net/kimpalita/1tLue9s0/
我想知道是否有人能够建议一种更 elegant/simplified 的方法来做到这一点,而不必在每个数据点中重复 className 属性。
提前致谢!
我认为父节点及其子节点没有 css class 来区别于其他节点。但是您仍然可以添加代码以向其子节点添加父 class 名称,这样您就可以省略为每个点指定 class 名称。
chart: {
events: {
load: function() {
this.series[0].data.forEach(p => {
var parent = p.parent;
var className = parent && this.get(parent).className;
if (className !== undefined) {
p.graphic.addClass(className)
}
})
}
}
},