如何以编程方式更改Highcharts中的颜色选项?
在highcharts初始化中,我只设置了一种颜色的数组。我想用图表悬停事件中的另一个数组来更改此值。换句话说,图表是默认的单色,并且在盘旋之后它变得多彩。如何以编程方式更改Highcharts中的颜色选项?
config = {
colors: ["#C0C0C0"]
};
chart = $('#chart').highcharts(config).highcharts()
$('#chart').hover(function(){
chart.options.colors = ["#E84C3D", "#C1392B", '#D25400', "#E67F22", "#F39C11"]
}, function(){
chart.options.colors = ["#C0C0C0"]
});
不幸的是,它不起作用。我应该怎么做?
您可以设置plotOptions事件:
plotOptions: { column:{colorByPoint:true}, series: { animation:false, events: { mouseOver: function(e) { //console.log(chart.options); var options = chart.options; if(options.colors[0]!='#E84C3D') {
options.colors=['#E84C3D','#C1392B','#D25400','#E67F22','#F39C11']; chart = new Highcharts.Chart(options); } }, mouseOut: function(e) { var options = chart.options; if(options.colors[0]!='#C0C0C0') {
options.colors=['#C0C0C0']; chart = new Highcharts.Chart(options); } } } } }
它返回错误'TypeError:b是未定义的'并且在jsfiddle中同时工作。 – 2014-10-28 11:57:51
您必须更新每个元素的颜色选项,然后重新绘制图表。绘制图表后,颜色选项不会再次读取,直到重绘。不太确定单色图表对每个人都有用。 – wergeld 2014-10-27 15:02:17