在D3.js中,提供了四種顏色選擇器,分別是RGB, HSL, LAB 和 HCL。
RGB是最常用的色彩模式,r、g、b分別對應紅、綠、藍,通過顏色疊加表示顏色,能夠表示256X256X256中顏色。
HSL是工業界的一種標準,三個值分別對應色相(H)、飽和度(S)、明度(L)。飽和和明度的值爲0~1,色相爲0~360。
LAB顏色模型由三個要素組成,一個要素是亮度(L),a 和b是兩個顏色通道。a包括的顏色是從深綠色(低亮度值)到灰色(中亮度值)再到亮粉紅色(高亮度值);b是從亮藍色(低亮度值)到灰色(中亮度值)再到黃色(高亮度值)。
HCL確實是一種色彩模式,能夠輸出顏色,但是我不太清楚具體的表示模式,也沒有找到對應資料。
創建顏色對象:
d3.rgb()
d3.hsl()
d3.lab()
d3.hcl()
亮度調節:
.brighter()/*明亮*/
.darker()/*暗*/
轉化爲字符串輸出:
.toString()
在d3中可以將顏色轉化爲其他的顏色對象:
rgb.hsl()
hsl.rgb()
lab.rgb()
hcl.rgb()
除此之外,D3還提供了插值函數,可以得到兩個顏色之間的顏色,通常用在類似熱力圖的效果中。
插值:
var color1=d3.rgb(255,0,0);
var color2=d3.hsl(180,.5,.5);
var compute=d3.interpolate(color1,color2)
當調用compute(n)時,可以輸出對應的插值顏色,其中n大於等於0小於等於1,如果超出邊界,輸出邊界顏色。