我试图用一个系列绘制一个列类型的图表。数据可以是正面的也可以是负面的。我尝试一键更新大于0(或小于0)的点的颜色。使用以下示例:
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'column'
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
plotOptions: {
series: {
cursor: 'pointer',
point: {
events: {
click: function() {
for (var i = 0; i < this.series.data.length; i++) {
if (this.y < 0) {
if (this.series.data[i].y < 0)
this.series.data[i].update({ color: '#ECB631' }, false, false);
}else {
if (this.series.data[i].y > 0)
this.series.data[i].update({ color: '#ECB631' }, false, false);
}
}
}
}
}
}
},
series: [{
data: [29.9, -71.5, 106.4, -129.2, 144.0, 176.0, -135.6, 148.5, -216.4, 194.1, 95.6, 54.4],
negativeColor: '#FF0000'
}]
});
这是链接。http://jsfiddle.net/CkkbF/57/
我发现了一些有趣而奇怪的东西:
如果点数据为正,点击的列颜色会改变,但其他正数据的列颜色略有不同(似乎突出显示。)
如果点数据为负数,则单击的列颜色将保持不变(在我的示例中为红色),直到您将鼠标移出为止。除非您尝试将鼠标移入/移出它们,否则具有负数据的其他列保持不变。
可能是一个错误?如何正确更新它们?