0
我試圖繪製一個系列的列類型的圖表。數據可以是正面的也可以是負面的。我嘗試通過單擊來更新大於0(或小於0)的點的顏色。用下面的例子:Highcharts:點擊更新專欄顏色---需要鼠標懸停?
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'
}]
});
這裏是the link。 http://jsfiddle.net/CkkbF/57/
我發現一些有趣和奇怪:
如果該點的數據爲正,則單擊列顏色將改變,但積極的數據等欄目有稍微不同的顏色(似乎突出顯示。)
如果點數據爲負值,則點擊的列顏色將保持不變(在我的示例中爲紅色),直到您將鼠標移出該點爲止。負數據的其他列保持不變,除非您嘗試將鼠標移入/移出它們。
可能是一個錯誤?我如何正確更新它們?
謝謝!有用!它似乎不適用於更通用的?實際上,我有一個更復雜的情況,每個點都有一個ID,如果單擊該列,具有相同ID的所有列將更改爲特定顏色(不管它是否定的)。我放棄了negativeColor想法,而是在圖表加載時迭代地爲所有列着色。我知道這是愚蠢的,但它的工作... – Touma
看起來像Highcharts有一些負面顏色的問題 –