欢迎光临
我们一直在努力

R语言绘图颜色怎么设置 - 开发技术

这篇“R语言绘图颜色怎么设置”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“R语言绘图颜色怎么设置”文章吧。

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个柱子中:

barplot(1:4, col = c(2, "red", rgb(1, 0, 0), "#FF0000"))

色彩搭配

颜色很多,但是要搭配好一组颜色没有点艺术细胞还真挺为难的,还好R里面有个包RColorBrewer已经帮我们搭配好了色板,供我们使用:

  1. 连续型 sequential, 颜色渐变。

> display.brewer.all(type="seq")
> brewer.pal(9,"Blues") #取出颜色
[1] "#F7FBFF" "#DEEBF7" "#C6DBEF" "#9ECAE1" "#6BAED6" "#4292C6" "#2171B5"
[8] "#08519C" "#08306B"
  1. 极端型Diverging,生成深色强调两端、浅色表示中部的颜色,可用来标注数据中的离群点。

> display.brewer.all(type="div")# 
> brewer.pal(11,"RdGy")
 [1] "#67001F" "#B2182B" "#D6604D" "#F4A582" "#FDDBC7" "#FFFFFF" "#E0E0E0"
 [8] "#BABABA" "#878787" "#4D4D4D" "#1A1A1A"
  1. 分类型Qualitative,生成彼此差异明显的颜色,通常用来标记分类数据。

> display.brewer.all(type="qual")
> brewer.pal(8,'Set3')  #取出颜色
[1] "#8DD3C7" "#FFFFB3" "#BEBADA" "#FB8072" "#80B1D3" "#FDB462" "#B3DE69"
[8] "#FCCDE5"

颜色绘图应用

分享一段绘图代码,绘制分组散点图:

#产生颜色向量,标记每一个点的颜色
palette(brewer.pal(8, "Set1"))
plot(iris$Petal.Length, iris$Petal.With, col = iris$Species, 
     ylab="Petal.With",xlab = "Petal.Length",pch=c(15,16,17)[iris$Species],
     main = "iris",cex=2)
legend("topleft",legend=levels(iris$Species),col=c(1,2,3),pch=c(15,16,17))

以上就是关于“R语言绘图颜色怎么设置”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注云行业资讯频道。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。