1. R语言有强大的绘图功能,但是如果没有合适的颜色搭配会非常难看,所以学习颜色配置很重要。
  2. 在这篇文章中我多次用到show_col()函数, 来自 scales 包,功能是用方格简单粗暴地展示颜色
library(scales)

颜色的表示方式

rgb、hsv、hcl

只讲述第一种(rgb函数),另外两种我不太熟悉

##eg.黑色
b1<- rgb(1,1,1) ##注意这里的rgb数值range定在[0,1]
b2<- rgb(255,255,255, maxColorValue = 255)
args(rgb) #查看rgb函数的参数
## function (red, green, blue, alpha, names = NULL, maxColorValue = 1) 
## NULL

16进制

以##开始,接着3对16进制数,每一对分别代表Red, green, blue ##FFFFFF 代表 白色, ##000000代表黑色

mycolors<- "#000000"  #注意这里一定要加引号。
show_col(mycolors)

颜色名称

直接输入颜色名称字符串,如“red”, “green” ,R语言中有600+的颜色,如要查看所有的颜色名称,可以直接用 colors()函数

colorsinr<- colors()  
head(colorsinr)  
## [1] "white"         "aliceblue"     "antiquewhite"  "antiquewhite1"
## [5] "antiquewhite2" "antiquewhite3"
show_col(head(colorsinr))

颜色数据集RColorBrewer

library(RColorBrewer)
library(DT)
datatable(brewer.pal.info) ##该包所包含的所有颜色集,配合下文图片阅读
display.brewer.all()

mycolors<- brewer.pal(9,"PiYG")
show_col(mycolors)

生成颜色的函数

R语言的颜色函数基本概念如下(纯属个人理解总结):
1. 先生成一个调色板(palette),然后根据用户所需的颜色数,在调色板内等间隔读取颜色来获取数据

内置渐变色板

用法都是输入想要获取的颜色个数,输出相应的颜色。

show_col(rainbow(9))

show_col(heat.colors(9))

show_col(terrain.colors(9))

show_col(topo.colors(9))

show_col(cm.colors(9))

show_col(gray(c(0:8)/8))

自定义渐变色板 colorRampPalette()

mypalette<- colorRampPalette(c("red" , "green"))
mycolors<- mypalette(12)
show_col(mycolors)

还可以设置多个主要颜色

mypalette<- colorRampPalette(c("red" ,"white" ,"green"))
mycolors<- mypalette(12)
show_col(mycolors)