# 第九课 配色
colors() #查看颜色,共有657种
x<-1:26
y<-1:26
d<-merge(x,y)
View(d) #merge这是一个函数,可见总共有676行,下面去除前657行,与系统颜色匹配
d<-d[1:657,]
View(d)
plot(d$x,d$y,col=colors(),cex=3)
plot(d$x,d$y,col=colors(),cex=3,pch=15)
#给每个颜色加上下标以便引用
#用循环
for(i in 1:26){
for (j in 1:26) {
text(i,j,labels = i+(j-1)*26,cex=0.5)
}
}
#接下来引用带有编号的颜色怎么引用呢,先来画个图看看,并且使用26号颜色填充
plot(1:10,col=colors()[26],pch=15,cex=3)
#调色板
##一下有三种R中的调色
rainbow()
heat.colors()
terrain.colors()
topo.colors()
rep(1,10) #这个函数表示生成10个1
plot(1:10,rep(1,10),col=rainbow(10),pch=15,cex=5)
plot(1:10,rep(1,10),col=rainbow(10,alpha = 0.5),pch=15,cex=5)#akpha表示将颜色变得透明
plot(1:10,rep(1,10),col=heat.colors(10),pch=15,cex=5)
plot(1:10,rep(1,10),col=terrain.colors(10),pch=15,cex=5)
plot(1:10,rep(1,10),col=topo.colors(10),pch=15,cex=5)
plot(1:10,rep(1,10),col=cm.colors(10),pch=15,cex=5)
#注意看以上三个函数得到的不同颜色
##下面讲扩展颜色的方法
###首先介绍一个函数
colorRampPalette(c('yellow','red'))#这个会返回一个函数,下面的方法可以引用50个数
colorRampPalette(c('yellow','red'))(50)#得到五十个十六进制的数
col1<-colorRampPalette(c('yellow','red'))(50)
plot(1:50,col=col1,pch=16,cex=2)#可得到从黄色到红色的渐变
mtcars
plot(mtcars$wt,mtcars$disp,col=col1,pch=16,cex=2)
#我们希望wt越大,颜色越深
rm(mtcars)
mtcars
mtcars<-mtcars[order(mtcars$wt),]
mtcars
plot(mtcars$wt,mtcars$disp,pch=16,cex=2,col=col1) #这样就可以用深浅表示大小了
#配色方案
install.packages('RColorBrewer')
library('RColorBrewer')
display.brewer.all()##可见有三块配色方案
brewer.pal(3,'Accent')#用于查看accent中的三种颜色
col2<-brewer.pal(3,'Accent')
plot(1:3,rep(1,3),col=col2,pch=15,cex=3)
install.packages('colorspace')
library(colorspace)
hcl_palettes(plot = T)
#调用
qualitative_hcl(8,'warm')#调用wram里面的8中颜色
col3<-qualitative_hcl(8,'warm')
plot(1:8,rep(1,8),col=col3,pch=16,cex=3)
col4<-sequential_hcl(8,'Grays')
plot(1:8,rep(1,8),col=col4,pch=16,cex=3)#这样就会显示渐变的效果
col4<-diverge_hcl(8,'Blue-Red')
plot(1:8,rep(1,8),col=col4,pch=16,cex=3)# 这样可以生成蓝-红对比色
# 作业9 ---------------------------------------------------------------------
#1、
install.packages('RColorBrewer')
library('RColorBrewer')
display.brewer.all()##可见有三块配色方案
col1<-brewer.pal(10,'Set3')
plot(1:10,rep(1,10),col=col1,pch=15,cex=3)
#2、
col2<-colorRampPalette(col1)(30)
plot(1:30,rep(1,30),col=col2,pch=15,cex=1.5)
#3、
col3<-colorRampPalette(c('gray','red'))(30)
plot(1:30,rep(2,30),col=col3,pch=15,cex=1.5)
col3<-colorRampPalette(col1)(30)
#4、
mtcars
mtcars<-mtcars[order(mtcars$hp),]
col4<-colorRampPalette(c('yellow','red'))(50)
plot(mtcars$wt,mtcars$disp,col=col4,pch=16,cex=2)