已经解决,但是只是想知道,除了Highcharts.getOptions()之外,还有什么方法可以访问highcharts颜色?
这里是情况:
series: [{
name: 'Some Name',
data: [{
name: 'Something 1',
...
color: Highcharts.getOptions().colors[3]
}, {
name: 'Something 2',
...
color: Highcharts.getOptions().colors[4]
}]
}]
我使用角度高图表(https://www.npmjs.com/package/angular-highcharts)。
如果我使用常规的Highcharts,这将起作用。
在Angular-highcharts中也可以,但仅当设置主题后渲染图表时才有效。 但是在我的情况下,图表是使用* ngFor在模板中生成的,因此Highcharts.getOptions()。colors [3]返回默认配色方案的颜色。
我还使用'colors'属性为每个图表提供了颜色。 我的问题是:如何获取特定图表的颜色?
new Chart({
chart: {
...
},
colors: this.chartColorPalette,
series: [{
...
}]
}),
当然,我已经通过直接访问this.chartColorPalette数组解决了此问题,但是还有其他方法可以完成同样的事情吗?
我的意思是,像Highcharts.getOptions()。colors [index]一样? 还是可以在渲染视图模板之前设置调色板(主题)?
答案 0 :(得分:1)
首先,您需要直接在图表配置对象中而不是在chart.colors
中设置特定图表的颜色,因为这种设置很可能无法自动运行。
关于获取特定图表(不是全局Highcharts对象)颜色的问题,您应该能够访问options.colors
对象上的Chart
,例如:
chart: {
events: {
load() {
console.log(this.options.colors)
}
}
}
我必须注意,这取决于您尝试访问图表对象的范围。