2014-12-19 14 views
6

Ho un grafico a torta con d3 una funzione di colore:Creare scala di colori d3 dinamica tra due valori di colore

var color = d3.scale.ordinal() 
      .range(['#0075B4', '#70B5DC']); 

Se ci sono solo due valori/pezzi, questo funziona. Ma se ce ne sono altri, voglio scegliere i colori tra i due dati.

d3 pie chart

Sopra, con 3 pezzi di torta, il pezzo con l'etichetta "Costo 3" avrebbe il colore che si trova tra #0075B4 e #70B5DC.

Ciò è possibile con d3? Ecco una jsfiddle di quello che ho finora: http://jsfiddle.net/9ruzntrr/1/

risposta

5

Sì, basta usare colori in una scala lineare:

var color = d3.scale.linear().domain([costMin,costMax]) 
     .range(['#0075B4', '#70B5DC']); 
+0

il dominio è stato anche una componente cruciale mi mancava. – thetallweeks

Problemi correlati