2012-03-20 9 views
6

Desidero modificare il colore del grafico ad area dopo il rendering iniziale.Cambia colore del grafico ad area a livello di codice alto

Nella demo di JSFiddle dopo aver fatto clic sul pulsante è possibile vedere il colore è cambiato quando si passa il mouse sul punto dati o si commuta la visualizzazione facendo clic sulla legenda per nascondere e quindi visualizzare di nuovo.

In entrambi i colori dell'area principale non è stato aggiornato, ma i punti dati e la legenda sono aggiornati.

JSFiddle Demo: http://jsfiddle.net/simonweston/tLwy5/

Qualsiasi aiuto sarebbe molto apprezzato.

risposta

1

Ho anche provato a cambiare senza fortuna, l'unico modo è quello di ricreare il grafico come visto here

+0

Grazie epoca. Questa è la mia soluzione attuale ma sembra un po 'hacky. Devo rendere il grafico per ottenere alcuni valori plotX e plotY e quindi ri-renderizzare il grafico usando questi valori per ottenere arresti graduali accurati. Non è la soluzione più carina ma immagino che funzioni. – westo

7

È possibile modificare in modo dinamico, ma è necessario per manipolare gli elementi SVG DOM invece dell'oggetto grafico:

$($('.highcharts-series').children()[0]).attr('fill','blue') 

produce:

enter image description here

+1

Grazie Marco. Ci avevo pensato, ma speravo di farlo tramite l'API highcharts poiché IE8 utilizza VML e questo non funzionerebbe con VML. – westo

+0

+1 per uscire dall'API. – epoch

Problemi correlati