我想要做的是不爲輸出值創建一個範圍的顏色,而是基於輸入創建一個較難的顏色。即說我有:以d3比例表示顏色的四捨五入值
color = d3.scale.linear().domain([0,1,10]).range([ 'green', 'orange', 'red' ])
d3.range(0,10).forEach((d) ->
console.log d + ' ' + color(d)
)
這將創建一個橙色和紅色之間的顏色範圍。不過,我想:
0 = green
1-9 = orange
10 = red
此外,我將能夠處理NaN
這樣的情況下,它是灰色的。
我在玩ordinal
,但我並不特別想指定domain
的所有數字(因爲我的輸入可能是浮點數)。
我該怎麼做?
太棒了!那灰色......怎麼樣?或者我將不得不分別處理? – yee379
忘記了!函數safeColor(num){return isNaN(num)? 'gray':color(num); } –
是的,我想知道是否有一些'scale'對象可以做到這一點,但我認爲它比在我的可視對象中硬編碼更好。謝謝! – yee379