2012-09-12 10 views
14

In Highcharts, mi piacerebbe riempire un grafico Area con 2 colori, i valori positivi ottengono un colore, i valori negativi ottengono un altro colore. Sono stato in grado di farlo con un linearGradient, ma questo deve essere regolato in base allo size of the container.Grafico ad area alta, utilizzare 2 colori di riempimento sopra/sotto l'asse X

C'è un modo più generale di farlo, ad es. valori di impostazione>0 color 1, values < 0 color 2?

Vedere la mia JSFiddle per ulteriori informazioni e un esempio: http://jsfiddle.net/GNvur/2/

+0

Penso che la soluzione con linearGradient sia più pertinente a questo problema. non è necessario creare serie fittizie. Mi piacerebbe leggere i commenti di alti funzionari su questo. – Guian

risposta

13

Il parametro che stavamo cercando è chiamato negativeColor. Usalo in un'area serie come questa:

series: [{ 
     type:'area', 
     data:chartValues, 
     color: "#FF0000", 
     threshold: 0, 
     negativeColor: '#00FFFF', 

     marker : { 
      enabled: true 
     } 
    }] 

vedere il risultato in questo JSFiddle.

+0

Molto la migliore risposta, l'unico problema che trovo ora è che quando la linea scende sotto 0 inizierà a comportarsi in modo strano (un valore viene aggiunto ogni secondo come nell'esempio sul sito web: http: //www.highcharts. com/demo/dinamico-update). Sai come aggiustarlo? – Manuel

+0

Ho postato una domanda sul problema precedente: http://stackoverflow.com/questions/16833912/graph-sliding-strangely-with-negativecolor-activated – Manuel

Problemi correlati