2013-04-29 13 views
5

Mogłem dynamicznie zmieniać kolor punktu na wykresie, ale gdy ustawię kursor nad tym punktem, kolor tego punktu zmienia się na poprzedni kolor.Zmiana koloru punktu dynamicznie w highcharts

Mam skrzypce tutaj: 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(); 
}); 

Jak mogę zmienić kolor punktu dynamicznie na wykresie?

Odpowiedz

5

myślę szukasz zaktualizować kolor markera dynamicznie.

można użyć funkcji aktualizacji dla tego

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

Oto jsFiddle celach informacyjnych. Mam nadzieję, że będzie to dla ciebie przydatne.

+2

W moim kodzie iw tym skrzypce kolor nie zmienia się, dopóki nie zatrzymasz wskaźnika myszy (w moim przypadku jest to kolumna). Czy istnieje sposób na wymuszenie natychmiastowej zmiany koloru? –

+0

To błąd w Highcharts, który prawdopodobnie został niedawno naprawiony: https://github.com/highslide-software/highcharts.com/issues/4622 W międzyczasie znalazłem obejście, które wymusiło aktualizację punktu za pomocą grafiki. attr: jsfiddle.net/jtbuyhdm/1 – Leonya

0

To działa dla mnie:

chart.series[0].update();

(Wybrana odpowiedź nie)

+1

Witam i zapraszam do StackOverflow! Polecam edytować odpowiedź, aby wyjaśnić, w jaki sposób twój przykład kodu pomoże ci odpowiedzieć na pytanie. Jednym ze sposobów na to może być rozwidlenie jsfiddle podanego w pytaniu i dodanie do tego przykładowego kodu. Przeczytaj [Jak napisać dobrą odpowiedź?] (Http://stackoverflow.com/help/how-to-answer), aby uzyskać więcej informacji na ten temat. –