r语言横坐标设置不同颜色

Python016

r语言横坐标设置不同颜色,第1张

R语言中的颜色

1 颜色名称表示

R语言中的颜色表示方式主要有两种,一种是用颜色的名称表示,例如:blue、red、orange等等,要知道R语言中颜色名称可以使用colors()方法得到。下图只显示50个颜色值:

library(scales)

show_col(colors()[1:50],label=T)

2 颜色值表示法

另一种颜色的表示方法是用数值的方法表示:也就是RGB的方法表示,通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的 可以使用rgb()方法-设置三种颜色的值(0-1):例如 rgb(1, 0, 0)表示红色, 设置透明颜色时,再添加一个参数:rgb(1, 0, 0, 0.1)。也可以是0-255之间的数值:例如rgb()方法设置颜色(0-255): rgb(255, 0, 0, max=255) 也表示红色,  透明颜色:rgb(255, 0, 0, 0.1 ,max=255)。还有一种颜色写法是用16进制的字符表示:#FF0000表示红色,没两位依次表示RGB的值;

3 数字表示法

可以用数字1、2、3等表示颜色,这些数字指向R语言中的色板palette颜色,如1代表当前palette的第1种颜色,2代表当前palette的第2种颜色等,默认色板中的颜色如下:

>palette()

[1] "black"   "red"     "green3"  "blue"    "cyan"    "magenta" "yellow" 

[8] "gray"

4 颜色的应用

为柱状图填充颜色,4种颜色都表示红色,分别填充到柱状图的4个柱子中:

如何使用R语言画出漂亮的图,颜色很重要,既要协调,又有有一定的分辨力。可以拿到任意多个颜色,当然颜色越多,分辨力越低。 barplot(rep(1,8), col=rainbow(8),border=NA) rainbow(8) [1] "#FF0000FF" "#FFBF00FF" "#80FF00FF" "#00FF40FF" "#00FFFFFF" "#0040FFFF" [7] "#8000FFFF" "#FF00BFFF"barplot(rep(1,20), col=rainbow(20),border=NA) #分辨力降低 par(mfrow=c(4,1), mar=c(0,2,2,0) ) n=10 #heat.colors()从红色渐变到黄色,再变到白色 barplot(rep(1,n), col= heat.colors(n), border=NA, main="heat.colors")  #terrain.colors() 从绿色渐变到黄色,再到棕色,最后到白色  barplot(rep(1,n),col=terrain.colors(n), border=NA, main="terrain.colors") #topo.colors() 从蓝色渐变到青色,再到黄色,最后到棕色  barplot(rep(1,n),col=topo.colors(n), border=NA, main="topo.colors") #cm.colors() 从青色渐变到白色,再到粉红色 barplot(rep(1,n),col=cm.colors(n), border=NA, main="cm.colors")(1) library(RColorBrewer) display.brewer.all() #显示全部颜色集合# 挑选某一个集合 #barplot(rep(1,8),col=brewer.pal(8,"Dark2")[1:8]) #基础语法 myColors=brewer.pal(8,"Dark2")[1:8] #Dark2主题有8种颜色 par(mfrow=c(4,1), mar=c(0,2,2,0) ) barplot(rep(1,8),col= myColors, main="Dark2"  ) # n=15 #nrow(df) barplot(rep(1, n ),col= colorRampPalette(colors = myColors)( n ),main="Default:linear") #则由8种生成15种颜色 barplot(rep(1, n ),col= colorRampPalette(colors = myColors, interpolate ="linear")( n ),main="linear" ) #插值方式 barplot(rep(1, n ),col= colorRampPalette(colors = myColors, interpolate ="spline")( n ),main="spline") #插值方式colSet2 # 获取颜色16进制表示 # [1] "#1B9E77" "#D95F02" "#7570B3" "#E7298A" "#66A61E" "#E6AB02" "#A6761D" "#666666"解释: n=5barplot(rep(1,n), col= colorRampPalette (colors = c('red', 'white'))( n )) colorRampPalette 函数可以混合任意两种及更多颜色,通过插值,生成更多色彩。(2) 目测其他几个预制颜色集合 n=8barplot(rep(1,n),col= brewer.pal(n,"Set2")[1:n] ) # set2 共8种颜色ref: biomooc.com

调色板有3种类型:连续型调色板、离散型调色板和定性调色板。

绘图应用[1]

Wes Anderson,电影导演韦斯·安德森,善于运用色彩。

最欣赏的一点是他以色调和对称构图来讲述惟妙惟肖的故事情节,而不是使用过多复杂花哨的拍摄方式诠释自己的才能。 [1]

绘图应用[2]

可以使用函数rainbow(n), heat.colors(n), terrain.colors(n), topo.colors(n)和cm.colors(n)生成n个连续颜色的向量

绘图应用[3]

绘图应用[4]

参考资料: