R语言colorRampPalette函数-创建颜色梯度(渐变色)

在绘热图时,需要将数值映射到不同的颜色上,这时就需要一系列的颜色梯度

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, 对应的颜色为蓝色渐变到红色

posted on 2017-06-02 10:42  庐州月光  阅读(30717)  评论(0编辑  收藏  举报