画图的过程中发现颜色太丑了,简单学一下配色。
RcolorBrewer包
library(RColorBrewer)
display.brewer.all() #展示所有的色板
display.brewer.pal(8,'Accent')# 展示'Accent'色板中8个颜色
看到有三种配色方法
sequential: 生成渐变的颜色,标记连续型数据大小,可选择颜色种类范围是3~9
qualitative:离散的,生成彼此差异明显的颜色,标记分类变量。可选择颜色种类,最小是3,最大根据每个色板的不同。
diverging:分散的,两头重,中间浅,标记数据离群点。可选择颜色种类范围是3~11
根据需要选择配色的名字,比如选择Accent
col <- brewer.pal(8,'Accent')# 从Accent 方案中选出8个颜色,并赋值给col
plot(1:8,rep(1,8),col= col,pch=16,cex=2)#绘图看一下颜色
- 从配色方案中选出自己喜欢的颜色,调制自己喜欢的色板
col1<- brewer.pal(8,'Dark2')
col2 <- brewer.pal(8,"Accent")
mycolor <- c(col1[5:8],col2[1:4])#挑选Dark2中后四个,accent中的前四个
plot(1:8,rep(1,8),col= mycolor,pch=16,cex=2)
- Accent中只有8个颜色,假如我有16个变量,怎么办呢?colorRampPalette()函数
使用colorRampPalette()扩展颜色
#函数正常用法:从blue到red,生成10个渐变色
col <- colorRampPalette(c('blue','red'))(10)
plot(1:10,rep(1,10),col= col,pch=16,cex=2)
- 使用 colorRampPalette()扩展调色板中的颜色
# 从只有8个颜色的Accent中生成16个颜色
col <- colorRampPalette(brewer.pal(8,'Accent'))(16)
plot(1:16,rep(1,16),col= col,pch=16,cex=2)
其他低阶点的,可以看看
学习地址 https://www.bilibili.com/video/BV1oa4y1x7gT?t=99
内置函数colors ()
colors()#展示657种颜色名称
#通过名称调用颜色
调色板
rainbow()
heat.colors()
terrain.colors()
topo.colors()
cm.colors()
plot(1:10,rep(1,10),col= rainbow(10,alpha = 0.5),pch=16,cex=3)# alpha 设置透明度
plot(1:10,rep(1,10),col= terrain.colors(10),pch=16,cex=3)
library(ggsci)
library('scales')
themeset = theme(panel.background=element_rect(fill='transparent', color='black'),axis.title = element_text(size = 20), legend.key=element_rect(fill='transparent', color='transparent'),axis.text = element_text(color="black",size = 20),legend.text=element_text(size=20),legend.title=element_text(size=20))
show_col(colorRampPalette(pal_npg('nrc',alpha = 0.8)(10))(30))#展示所选颜色
mycolor = colorRampPalette(pal_npg('nrc',alpha = 0.8)(10))(23)#返回颜色值
scale_fill_manual(values = mycolor)