R語言colorRampPalette函式-建立顏色梯度(漸變色)

weixin_33733810發表於2017-06-02

在繪熱圖時,需要將數值對映到不同的顏色上,這時就需要一系列的顏色梯度

colorRampPalette 函式支援自定義的建立一系列的顏色梯度

程式碼示例:

> colors <- colorRampPalette(c("blue", "red"))(5)
> colors
[1] "#0000FF" "#3F00BF" "#7F007F" "#BF003F" "#FF0000"

函式的引數c("blue", "red") 指的是顏色從藍色漸變到紅色,5 代表建立長度為5的顏色梯度

有了顏色梯度之後,我們就可以方便的把數值對映到顏色梯度上

基本的思想是,將數值排序,然後得到每個數值在排序好的序列中的順序,其實就是rank 函式的返回值,然後利用該順序去獲取顏色

程式碼示例:

colors <- colorRampPalette(c("blue", "red"))(5)
plot(5:1, bg = colors[rank(5:1)], cex = 2, pch = 22)

效果圖如下:

從圖中可以看出,數值1到5, 對應的顏色為藍色漸變到紅色

相關文章