r语言查模板颜
R语言中可以通过定义col参数自定义颜。有以下四种方法进行设置,是等价的:
1.数字:(如1代表当前palette的第1种颜,2代表当前palette的第2种颜等); 
2.颜名:(如”red”,”blue”)、可以使用colors()获得所有颜名称列表
3.RGB:使用rgb()函数得到的返回值 rgb(1, 0, 0)
4.十六进制颜代码:#FF0000
barplot(1:4, col = c(2, "red", rgb(1, 0, 0), "#FF0000"))
不同数字代表的都是哪些颜?
通过palette()函数,可以看到在当前调板下,第一种颜是黑,第二种颜是红。这个调板共有8种颜,当使用颜数大于8时,会从头开始。
palette()## [1] "black"   "red"     "green3"  "blue"    "cyan"    "magenta" "yellow" 
## [8] "gray"
调板当然是可以改变的,比如用系统中的彩虹调板。此时,第二位可就不是红了。
palette(rainbow(12))barplot(1:4, col = c(2, "red", rgb(1, 0, 0), "#FF0000"))
通过再次将palette设置为”default”,可以得到默认调板。
palette("default")
2.R预置彩系统的板
其实在R语言的彩系统中,有两大类颜系统,一类是预设的调盘,通过调盘,你可以获取任意数量的彩组合。
R语言的预设调板一共有五个:
lors
这五个调板就像是一个大染缸一样,排列着无数的彩组合。取也很简单,就是使用
预设盘名称+彩数据即可:
rainbow(10)
 [1] "#FF0000FF" "#FF9900FF" "#CCFF00FF" "#33FF00FF" "#00FF66FF" "#00FFFFFF"
 [7] "#0066FFFF" "#3300FFFF" "#CC00FFFF" "#FF0099FF"
以上既是通过名称+数量的方式获取的一组10个颜,同样我们可以通过scales包中show_col函数查看具体的颜效果:
library(scales)show_col(rainbow(10),labels=T) #labels控制是否显示HEX格式的值信息.
接下来用一个版面矩阵将五个盘颜全部显示出来:
par(mfrow=c(1,5),mar=c(0.5,0.5,2,0.5),xaxs="i",yaxs="i")
n<-1000barplot(rep(1,times=n),col=rainbow(n),border=rainbow(n),horiz=T,axes=F,main="Rainbow Color")barplot(rep(1,times=n),lors(n),lors(n),horiz=T,axes=F,main="Heat.Colors")barplot(rep(1,times=n),lors(n),lors(n),horiz=T,axes=F,main="Terrain.Colors")barplot(rep(1,times=n),lors(n),lors(n),horiz=T,axes=F,main="Topo.Colors")barplot(rep(1,times=n),lors(n),lors(n),horiz=T,axes=F,main="Cm.Colors")
运行以上代码之后,你会看到绘图面板上出现的五个板彩过渡效果,第一个rainbow是
运用最为频繁的的板,也是我们所熟知的彩虹七,其余四个是截取rainbow斑的某一段暖系、冷系或者单做的渐变过渡。
五种颜调用方法非常简单,名称+数量就可以。而且你也可以通过文本函数将不同盘中截取的颜相互混合使用。
dev.off()#关闭上次的绘图面板
par(mfrow=c(2,1),mar=c(0.5,0.5,2,0.5),xaxs="i",yaxs="i")
a<-lors(10)
b<-lors(10)
barplot(rep(1,times=10),col=b,border=b,main="Topo.Colors10",axes=F)
barplot(rep(1,times=10),col=a,border=a,main="Heat.Colors10",axes=F)
htmlborderdev.off()c<-c(a[c(1,3,5,7,9)],b[c(2,4,6,8,10)])
barplot(rep(1,times=10),col=c,border=c,axes=F,main="topo&heat 10")
3.产生渐变颜colorRamp()和colorRampPalette():
colorRamp()和colorRampPalette()都可用于建立颜板。想象一下你现在有一个板,板上有红,蓝,和白,你就可以用colorRamp()和colorRampPalette()基于这三个颜就行调,两者的不同在于,colorRamp() 可以指定一个小数,返回一个指定的颜值,需要用rgb方法转换;
colorRampPalette()返回指定数量的颜值,两个方法可以达到相同的效果:
par(mfrow = c(1, 2))
b2p1 <- colorRampPalette(c("red", "white","blue"))
b2p2 <- colorRamp(c("red", "white","blue"))
barplot(rep(1, 12), axes=F, col = b2p1(12), border = b2p1(12), main = "colorRampPalette")

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。