动态更改条形颜色 - highcharts
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态更改条形颜色 - highcharts相关的知识,希望对你有一定的参考价值。
我是一个R
程序员试图通过JS
包解析一些highcharter
代码。
我试图在this示例基于this问题悬停时更改每个条形颜色。
我试过这个:
plotOptions: {
column: {
events: {
mouseOver: function () {
this.chart.series[this.index].update({
color: 'blue'
});
},
mouseOut: function () {
this.chart.series[this.index].update({
color: '#b0b0b0'
});
}
};
states: {
hover: {
color: colors[x]
}
}
}
}
但是我只能用“蓝色”突出显示颜色。如何为不同的column
使用不同的颜色?
谢谢。
答案
您在所有列上只看到蓝色,因为您在系列上设置了这些事件。为了实现它,您可以使用颜色创建数组并将其分配给chart.events.load
上的常规图表对象。然后在series.point.events.mouseOver
和mouseOut
应该能够通过点索引改变颜色。这是示例代码:
highchart() %>%
hc_chart(events = list(
load = JS("function() {this.customColors = ['red', 'green', 'blue']}")
)) %>%
hc_series(
list(
data = abs(rnorm(3)) + 1,
type = "column",
color = '#ddd',
point = list(
events = list(
mouseOver = JS("function() {this.update({color: this.series.chart.customColors[this.index]})}"),
mouseOut = JS("function() {this.update({color: '#ddd'})}")
)
)
)
)
API参考:
https://api.highcharts.com/highcharts/series.column.point.events
https://api.highcharts.com/highcharts/chart.events.load
以上是关于动态更改条形颜色 - highcharts的主要内容,如果未能解决你的问题,请参考以下文章