千家信息网

r语言中如何实现R预设配色系统及自定义色板

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家分享的是有关r语言中如何实现R预设配色系统及自定义色板的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。内容主要包含两部分:R预置色彩系统的色板R语言自定义颜色调
千家信息网最后更新 2026年11月01日r语言中如何实现R预设配色系统及自定义色板

这篇文章给大家分享的是有关r语言中如何实现R预设配色系统及自定义色板的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

内容主要包含两部分:

  • R预置色彩系统的色板

  • R语言自定义颜色调用

其实在R语言的色彩系统中,有两大类颜色系统,一类是预设的调色盘,通过调色盘,你可以获取任意数量的色彩组合。

R语言的预设调色板一共有五个:

rainbow

heat.colors

terrain.colors

topo.colors

cm.colors

这五个调色板就像是一个大染缸一样,排列着无数的色彩组合。取色也很简单,就是使用预设色盘名称+色彩数据即可:

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<-1000

barplot(rep(1,times=n),col=rainbow(n),border=rainbow(n),horiz=T,axes=F,main="Rainbow Color")

barplot(rep(1,times=n),col=heat.colors(n),border=heat.colors(n),horiz=T,axes=F,main="Heat.Colors")

barplot(rep(1,times=n),col=terrain.colors(n),border=terrain.colors(n),horiz=T,axes=F,main="Terrain.Colors")

barplot(rep(1,times=n),col=topo.colors(n),border=topo.colors(n),horiz=T,axes=F,main="Topo.Colors")

barplot(rep(1,times=n),col=cm.colors(n),border=cm.colors(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<-heat.colors(10)

b<-topo.colors(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)


dev.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");box()


以上通过将两个色板提取出来的颜色进行组合,创造出了新的色彩组合。

R语言自定义颜色调用

接下来介绍R语言的第二大色彩系统,自定义颜色。

R语言系统中内置了657中带有自定义名称的颜色(就是我们平时所熟知的blue、red、grey等)。

通过colors()函数可以查看这657种颜色的色值及名称类别信息:

head(colors(),10)

[1] "white" "aliceblue" "antiquewhite" "antiquewhite1"

[5] "antiquewhite2" "antiquewhite3" "antiquewhite4" "aquamarine"

[9] "aquamarine1" "aquamarine2"

library(plyr)

count(cl)


count函数列出了所有657中颜色名称。

使用show_col函数可以查看所有657中颜色的图形显示效果

show_col(cl,labels=F)#因为颜色数量太多,使用labels=F参数略去颜色色值信息。


使用colorRampPalette函数可以自由调用任何一种自定义颜色。

colorRamp(colors, bias = 1, space = c("rgb", "Lab"), interpolate = c("linear", "spline"))

colorRampPalette(colors, ...)

color函数的介绍如上,具体的参数解释可以通过?colorRampPalette查看他的官方文档,这里我们直接取色。

par(mfrow=c(1,4),mar=c(0.5,0.5,2,0.5),xaxs="i", yaxs="i")

n <- 1000

mycolors <- colorRampPalette(c("red", "green"))(n)

barplot(rep(1,times=n),col=mycolors,border=mycolors,horiz=T,axes=FALSE)

mycolors <- colorRampPalette(c("blue", "yellow", "orange"))(n)

barplot(rep(1,times=n),col=mycolors,border=mycolors,horiz=T,axes=FALSE)

mycolors <- colorRampPalette(c( "white", "gold", "yellow", "brown"), bias=1.2)(n)

barplot(rep(1,times=n),col=mycolors,border=mycolors,horiz=T,axes=FALSE)

mycolors <- colorRampPalette(c("red","gold", "yellow", "grey","orange"), bias=1.2)(n)

barplot(rep(1,times=n),col=mycolors,border=mycolors,horiz=T,axes=FALSE)

dev.off()


除了这两大色彩系统系统之外,R语言也支持直接以色值(HEX)形式输入的颜色,只需使用c()函数生成色值组成的字符向量,R语言就可自动识别。

还有一些特殊用途的grey函数,hsv函数等等可以通过设定灰度或者色调、饱和度、亮度等等方式获取颜色使用,这些由于过于繁琐,这里就略去了,甘感兴趣的小盆友可以自己探索。

当然,这里还没有讲解到那些已经做得很成熟的主题配色包,比如ggthemes(专为ggplot2开发的主题包)、RColorbrewer(里面存放着大量高质量的配色方案)、以及ggtech(是一个科技主题的配色包,主要供ggplot函数调用)。

通过scales包中的brewer.col,我们可以提取出以上各包的配色主题,来用于我们的可视化图表中,不光是ggplot绘图系统,即便是在基础绘图系统(base::plot)中也是可以调用这些色彩方案的

感谢各位的阅读!关于"r语言中如何实现R预设配色系统及自定义色板"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

颜色 系统 函数 语言 色彩 色板 名称 主题 可以通过 数量 组合 绘图 信息 内容 效果 接下来 参数 就是 方式 方案 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 蓝思科技飞鸽互联网 中国互联网科技股 金融科技与互联网金融 互联网科技缩写 美国互联网黑科技 居家互联网科技有限公司 互联网科技公司需要的职位 互联网系的金融科技公司 重庆威客帮互联网科技 湖南诚度互联网科技有限公司 企晟互联网信息科技有限公司 科技互联网的核心竞争力 互联网第三次科技革命特征 皮皮虾互联网科技有限公司 互联网科技年终奖 陕西云淼互联网科技公司 互联网金融运营模式中的金融科技 张家口科技产业互联网平台 恒生科技互联网指数十大成分股 如何强化互联网金融科技 中关村互联网科技集团 新华互联网科技学校 互联网 科技服务平台 科技与互联网哪个更好 广州恒生互联网科技有限 苏州五指互联网络科技有限 链环科技传统企业怎么转型互联网 北京军民互联网科技公司 10位科技互联网大佬 科技发展第三阶段互联网时代
0