在繪熱圖時,需要將數值映射到不同的顏色上,這時就需要一系列的顏色梯度
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, 對應的顏色為藍色漸變到紅色
