2013-04-29 35 views
5

我已經能夠動態地更改圖形中點的顏色,但是當我將鼠標懸停在該點上時,該點的顏色將更改爲以前的顏色。在高圖中動態更改點的顏色

我有一個小提琴在這裏:jfiddle

$(function() { 
var chart = new Highcharts.Chart({ 
    chart: { 
     renderTo: 'container' 
    }, 
    xAxis: { 
     categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] 
    }, 

    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]   
    }] 
}); 

// the button handler 
$('#button').click(function() { 

    chart.series[0].data[2].graphic.attr({ fill: '#FF0000' });   
    chart.redraw(); 
}); 

我怎樣才能改變點的顏色動態中的圖形?

回答

5

我認爲你正在尋找動態更新標識的顏色。

您可以使用更新功能,這

chart.series[0].data[0].update(); 

這裏是供您參考jsFiddle。我希望這會對你有用。

+2

在我的代碼和那個小提琴中,直到你將鼠標懸停在點上(在我的情況下它是一列),顏色纔會改變。有沒有辦法強制顏色變化立即? – 2015-08-25 22:18:30

+0

它在Highcharts中的一個錯誤似乎剛剛得到修復:https://github.com/highslide-software/highcharts.com/issues/4622與此同時,我找到了一種解決方法來強制使用圖形進行點更新。 attr:jsfiddle.net/jtbuyhdm/1 – Leonya 2015-11-17 16:02:16

0

它爲我的作品:

chart.series[0].update();

(所選答案不)

+1

你好,歡迎來到StackOverflow!我建議你編輯你的答案,以解釋你的代碼示例將如何幫助回答問題。一種方法可能是分叉問題中提供的jsfiddle,並將代碼示例添加到該問題中。請回顧[如何寫出一個好的答案?](http://stackoverflow.com/help/how-to-answer)獲取更多信息。 – 2015-09-30 20:29:36