grDevices | R语言中的配色方法汇总(Ⅱ-1)
前篇介绍的RColorBrewer
包是R常用的配色拓展包,而R系统自带的配色方案则由grDevices
工具包提供。
由于grDevices
工具包中的配色函数较多,我们分多篇推文进行介绍,本篇介绍的函数有如下几个:
colors()
rgb()
col2rgb()
grey()
grey.colors()
2 grDevices
工具包
colors()
R系统中内置657种颜色,这些颜色在使用时直接调用颜色名称即可,如red
、blue
、green
、lightblue
、darkgreen
、grey
等。
使用colors()
函数(或者colours()
函数)可以查看所有内置颜色名称:
head(colors()) # 仅显示前6种
## [1] "white" "aliceblue" "antiquewhite" "antiquewhite1"
## [5] "antiquewhite2" "antiquewhite3"
image(x = 1:3, y = 1, z = matrix(1:3, ncol = 1),col = c("blue", "white", "red"),axes = F, ann = F)
下图展示了内置颜色名称及其对应的效果:
rgb()
rgb()
函数是根据三原色原理进行配色的,即大多数的颜色可以通过红、绿、蓝三色按照不同的比例合成产生;同样,绝大多数单色光也可以分解成红、绿、蓝三种色光,这是色度学的最基本的原理(来自百度百科)。
rgb()
函数的语法结构如下:
rgb(red, green, blue,alpha, names = NULL,maxColorValue = 1)
red、green、blue:三原色参数;
alpha:半透明参数;数值越小,透明度越高;
names:对颜色进行命名,可省略;
maxColorValue:三原色参数和半透明参数的最大值,默认为1,即
red
、green
、blue
、alpha
四个参数的取值范围为0-1。
大部分调色软件对三原色的默认设置范围是[0, 255],即
maxColorValue = 255
。
r <- seq(7, 255, 8)
col <- rgb(r, 0, 0, alpha = 255,maxColorValue = 255)
image(x = 1:8, y = 1:4, z = matrix(1:32, ncol = 4),col = col,axes = F, ann = F)
使用rgb()
函数生成具有一定透明度的颜色,若颜色重叠还可以生成新的颜色,而内置颜色则会出现覆盖。
theta <- seq(0, 2*pi, 0.001)
x <- sin(theta)
y <- cos(theta)par(plt = c(0.05, 0.95, 0.05, 0.95))
plot(1, type = "n", ann = F, axes = F,xlim = c(-1, 2), ylim = c(-1, 2),asp = 1)
polypath(x, y, col = rgb(1,0,0,0.2), border = NA)
polypath(x+1, y, col = rgb(0,1,0,0.2), border = NA)
polypath(x+0.5, y+0.866, col = rgb(0,0,1,0.2), border = NA)
由rgb()
函数生成的颜色还可以使用十六进制表示,即分别将[0, 255]范围内的三原色参数和半透明参数依次转换成十六进制的表达形式(半透明参数可以省略),并在前面加上#
,如红色的十六进制编码为#FF0000
。
rgb(1,0,0,0.2)
## [1] "#FF000033"
许多网站都可以查询颜色的RGB编码和十六进制编码的对照表。
col2rgb()
通过col2rgb()
函数,我们可以查询内置颜色的RGB编码,或将十六进制编码转换成RGB编码:
col2rgb(col, alpha = FALSE)
col:内置颜色名称或颜色的十六进制编码。
col2rgb("skyblue")
## [,1]
## red 135
## green 206
## blue 235col2rgb("#FF000033")
## [,1]
## red 255
## green 0
## blue 0
grey()
使用rgb()
函数生成的颜色在黑白打印时几乎无法辨别,针对这种情况,可以使用grey()
函数(或 gray()
函数)生成灰度颜色。语法结构如下:
grey(level, alpha = NULL)
level:灰度水平,取值在0-1之间;0表示黑色,1表示白色。
lev <- seq(0, 0.99, 0.2)
col <- grey(lev)
image(x = 1:5, y = 1, z = matrix(1:5, ncol = 1),col = col,axes = F, ann = F)
grey.colors()
grey.colors()
函数的功能是快速生成一组连续水平的灰度颜色,语法结构如下:
gray.colors(n, start = 0.3, end = 0.9,gamma = 2.2, alpha = NULL,rev = FALSE)
n:颜色个数;
start、end:灰度水平的起始和终止值,同
grey()
函数的level
参数。
par(mfrow = c(1,2))
barplot(1:12)
barplot(1:12, col = gray.colors(12))
grDevices | R语言中的配色方法汇总(Ⅱ-1)相关推荐
- grDevices | R语言中的配色方法汇总(Ⅱ-2)
上篇主要介绍了RGB模型和灰度模型两种配色方案,本篇来继续介绍HSV模型和HCL模型. 根据色彩理论,色彩具有三要素,即色相.饱和度和明度,HSV模型和HCL模型均是基于该理论的配色方案. 同上篇一样 ...
- RColorBrewer | R语言中的配色方法汇总(Ⅰ)
1 RColorBrewer工具包 该包是R中常用的颜色选取工具包,它具有简单易用的特点,对于不具备太多色彩理论的读者来说也十分友好.虽然该包主要是为地图上色而设计,但也可以用于其他用途. libra ...
- r语言算巢式设计方差分析_R语言中的方差分析方法汇总
方差分析,是统计中的基础分析方法,也是我们在分析数据时经常使用的方法.下面我总结一下R语言如何对常用的方差分析进行操作. 1. 方差分析的假定 上面这个思维导图,也可以看出,方差分析有三大假定:正态, ...
- R语言中dim函数_R语言中的方差分析方法汇总
方差分析,是统计中的基础分析方法,也是我们在分析数据时经常使用的方法.下面我总结一下R语言如何对常用的方差分析进行操作. 1. 方差分析的假定 上面这个思维导图,也可以看出,方差分析有三大假定:正态, ...
- R语言中的抽样方法与描述统计函数
抽样方法 常见的抽样方法 简单随机抽样 分层抽样 系统抽样 # 导入数据 # 1 金融 2 建筑 3 外语 data <- read.csv("E:\\Github\\code-lea ...
- r语言中正定矩阵由于误差不正定_R语言之数据处理(一)
在上一篇小文中,提到了关于R语言导入数据的一些方法,之后的重点就转向了数据的处理上.数据处理其实在整个数据分析项目中所占用的时间是比较多的,所以根据处理的目的不同,也有不同的处理方法.在R语言中,我通 ...
- raster | R语言中的空间栅格对象及其基本处理方法(Ⅰ)
前面的系列推文已经完成了对R语言中的两个管理空间矢量数据的工具包(sf和sp)的介绍,以及空间自相关.空间插值等空间分析方法. 这里小编再推出一个系列来介绍R语言中管理空间栅格数据的工具包:raste ...
- R语言中读取xlsx文件的方法
R语言中读取xlsx文件的方法 安装包 install.packages("openxlsx") library(openxlsx) 文件名+sheet的序号 data<- ...
- R语言中的基础作图和ggplot2配色系统
文章目录 颜色代码大全 R语言中的调色板 RColorBrewer提供的调色盘 R语言中配色介绍 R语言中自带的调色板 RColorBrewer包提供更多的调色板 ggplot2中配色系统的介绍 数值 ...
最新文章
- 笔记本电脑怎么清理灰尘_用了这么多年电脑,你该清理清理这个,将会又快又流畅...
- 百度输入法发布AI版本10.0,重磅推出“AI助聊”功能
- 高速缓存系统之memcache c++使用实例
- 集体备课模板_幼儿教师资格证面试试讲万能模板和历年真题,看完轻松过面试!...
- nodejs mysql 注入_node.js sql 注入攻击防御方法 (sql Injection)
- get online 免费注册一级.online后缀的域名
- HTML5八大特性助力移动WebApp开发
- Swift 与众不同的地方
- 刘宏伟计算机组成,哈工大组成原理和数据结构 ppt 计算机组成原理刘宏伟 版本一 第18讲...
- Twitter开源软件项目列表
- LINUX进程内存占用查看
- Amobea读写分离
- Python-图像-伪彩色图像处理
- vue---vue+elementUI完成注册及登陆
- Openwrt 镜像安装
- android 怎么绘制圆形,Android编程绘制圆形图片的方法
- gzip 压缩解压代码示例
- c#中 .length和length()的差别
- OSG 球体参数方程绘制
- 一个老的游戏,据说全世界只有不到4000人可以走出房间,--之“碧绿色房间”...