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