R语言的颜色系统
2017-04-05 13:40阅读:
使用颜色名称
使用字符串代表颜色,如
“red”,”black”等。这样R语言自带的可以使用的字符串共有657个,具体颜色与名称对应见chart of r
colors
# 用如下命令看颜色的演示 demo('colors') # colors()代表一个长为657的颜色字符串向量
length(colors()) # 657 colors()[30:35] # 'blue4'
'blueviolet' 'brown' 'brown1'
'brown2' 'brown3' #
当你想得到多种红色,可以用下面代码 colors()[grep('red',colors())] # 看看有哪些颜色(读者自试)
showcolors(colors()[grep('red',colors())]) 指定rgb或者用3位十六进制数、或hsv
如果系统自带的颜色不令人满意,我们可以自己指定颜色的rgb。 rgb函数接的参数分别对应
r-red,g-green,b-blue,生成的颜色是由这三个颜色组成 hsv 是Hue, Saturation,
Value色调、饱和度、亮度。是绘图的另外一套系统 # 默认三个数在0-1之间 color <- rgb(1,0.5,0.25)
# 由于我们平常使用的rgb都是0-255,我们可以这样 color <-
rgb(35,255,76,maxColorValue=255) # 三个参数接向量可以做出一个颜色向量 color
<-rgb(seq(1,255,len=10),16:25,16:25,maxColorValue=255)
showcolors(color) # 用rgb生成的函数以3个16进制数的字符串表示 #
我们平时去找颜色的时候,有时也能见到这种格式,其实和rgb是等价的,不过用起来更方便 color[1:4] # '#011010'
'#1D1111' '#391212' '#551313' # hsv mycolor <- hsv(seq(0,
0.5,len=10),1:10/15,1:10/10) showcolors(mycolor) # 也是用十六进制表示
mycolor[1:4] # '#1A1818' '#332E2C' '#4D473D' '#66664B' # 提取颜色rgb数值
col2rgb('yellow')
使用系统自带颜色集
R有以下自带颜色集
- rainbow() 彩虹色
- heat.colors() 红色至黄色
- terrain.colors() 绿色、棕色至白色
- topo.colors() 深蓝色至浅棕色
- cm.colors() 浅蓝到白色、浅紫色
- gay()和grey() 灰色
前5个函数接受单个数值作为参数,生成渐变色,数值越大,相邻颜色差别越小
最后一个函数接受一个数值向量,数值为0-1之间
# 简单示例,作图由读者自试 mycolor <- heat.colors(10) showcolors(mycolor) #
fss中每一个元素作为fun的参数,执行fun函数的命令 fun <- function(f){
showcolors(do.call(f,list(30)),'line')
mtext(f,side=3,line=-1) } fss <-
c('rainbow','heat.colors','terrain.colors','topo.colors','cm.colors')
op <- par(mfrow=c(3,2),mar=rep(0.2,4)) lapply(fss,fun) #
gray函数接受参数的模式和三种不同 showcolors(gray(1:30/30),'line')
mtext('gray',side=3,line=-1) par(op) # 作图结果见下方
使用颜色包RColorBrewer包
这个包中有三类颜色,个人认为非常好看
- seq类,渐变。适用于从低到高排序明显的数据,浅色数字小,深色数字大
- div类,对对极值和中间值比较注重的数据
- qual类,适用于分类
library(RColorBrewer) # 展示所有颜色 display.brewer.all(type = 'all') #
type可以换为'qual','div','seq' # 使用颜色 mycolors<-brewer.pal(7,'Set1')
# 从这个色板中选择7个颜色 display.brewer.pal(n, 'RdGy') # 展示这个调色板中的颜色
brewer.pal.info # 查看有哪些调色板
使用数字
数字来表示颜色应该是我们平时最常用的方法了,但是最后讲,是因为它涉及到调色板,我们可以将前面所有颜色放进这个调色板中,定义自己的数字对应颜色。所以等所有颜色都讲完了才讲这里。
数字对应的颜色在调色板中,我们可以用 palette
调出查看,发现有8种默认颜色,对应数字1-8.
palette() # 'black'
'red'
'green3'
'blue'
'cyan'
'magenta'
'yellow'
'gray' op <- par(mfrow=c(1,2),mai=rep(0.2,4))
showcolors(1:8) showcolors(1:16) par(op)
调色板的作用是便捷、快速地使用,我们可以对其进行更改,使用我们自己喜欢的颜色。
# 读者自己尝试 palette(rainbow(10)) showcolors(1:10)
mycolor
<- colors()[1:30] palette(mycolor) showcolors(1:10) # 将调色板设回默认
palette('default') showcolors(1:10)
转自:
https://mp.weixin.qq.com/s?__biz=MzA3MTM3NTA5Ng==&mid=2651055843&idx=1&sn=670867a26087cba26588a19fc5bb2102&chksm=84d9c774b3ae4e62deaed0b44ad07a63af7f286794ab48fa409bfbbcf3262daf4a790305355b&mpshare=1&scene=1&srcid=0405ctbr5YLsqTaSu1qT78kL&pass_ticket=NTiyE6GJdcknfCttBAhePjZrlSQUnvYPIVXVhSVUuaMZ2Wf9UoyxTM9z2NGV1nEV#rd