colorRamp
位于 grDevices
包(package)。 说明
这些函数返回插入一组给定颜色以创建新调色板(如 topo.colors
)和色带的函数,这些函数将间隔 映射到颜色(如 grey
)。
用法
colorRamp(colors, bias = 1, space = c("rgb", "Lab"),
interpolate = c("linear", "spline"), alpha = FALSE)
colorRampPalette(colors, ...)
参数
colors |
要插值的颜色;必须是 |
bias |
一个正数。较高的值会在高端提供更广泛的颜色间隔。 |
space |
一个字符串; RGB 或 CIE Lab 色彩空间中的插值。 |
interpolate |
使用样条曲线或线性插值。 |
alpha |
逻辑:是否应该返回 alpha 通道(不透明度)值?如果指定 |
... |
要传递给 |
细节
CIE Lab 色彩空间在感知上大致均匀,因此可以提供更平滑、更均匀的色带。另一方面,通过白色从一种色调变为另一种色调的调色板在 RGB 空间中可能具有更对称的外观。
此函数中的转换公式似乎并不完全准确,并且色带可能无法达到 Lab 空间中的极值。未来的变化R颜色模型可能会改变产生的颜色space = "Lab"
.
值
colorRamp
返回一个 function
,参数为 0 到 1 之间的值向量,该向量映射到 RGB 颜色值的数字矩阵,每种颜色一行,3 或 4 列。
colorRampPalette
返回一个函数,该函数采用整数参数(所需的颜色数量)并返回颜色字符向量(请参阅 rgb
),内插给定序列(类似于 heat.colors
或 terrain.colors
)。
例子
## Both return a *function* :
colorRamp(c("red", "green"))( (0:4)/4 ) ## (x) , x in [0,1]
colorRampPalette(c("blue", "red"))( 4 ) ## (n)
## a ramp in opacity of blue values
colorRampPalette(c(rgb(0,0,1,1), rgb(0,0,1,0)), alpha = TRUE)(8)
require(graphics)
## Here space="rgb" gives palettes that vary only in saturation,
## as intended.
## With space="Lab" the steps are more uniform, but the hues
## are slightly purple.
filled.contour(volcano,
color.palette =
colorRampPalette(c("red", "white", "blue")),
asp = 1)
filled.contour(volcano,
color.palette =
colorRampPalette(c("red", "white", "blue"),
space = "Lab"),
asp = 1)
## Interpolating a 'sequential' ColorBrewer palette
YlOrBr <- c("#FFFFD4", "#FED98E", "#FE9929", "#D95F0E", "#993404")
filled.contour(volcano,
color.palette = colorRampPalette(YlOrBr, space = "Lab"),
asp = 1)
filled.contour(volcano,
color.palette = colorRampPalette(YlOrBr, space = "Lab",
bias = 0.5),
asp = 1)
## 'jet.colors' is "as in Matlab"
## (and hurting the eyes by over-saturation)
jet.colors <-
colorRampPalette(c("#00007F", "blue", "#007FFF", "cyan",
"#7FFF7F", "yellow", "#FF7F00", "red", "#7F0000"))
filled.contour(volcano, color.palette = jet.colors, asp = 1)
## space="Lab" helps when colors don't form a natural sequence
m <- outer(1:20,1:20,function(x,y) sin(sqrt(x*y)/3))
rgb.palette <- colorRampPalette(c("red", "orange", "blue"),
space = "rgb")
Lab.palette <- colorRampPalette(c("red", "orange", "blue"),
space = "Lab")
filled.contour(m, col = rgb.palette(20))
filled.contour(m, col = Lab.palette(20))
也可以看看
插值的良好起点是 RColorBrewer
包中的 “sequential” 和 “diverging” ColorBrewer 调色板。
相关用法
- R colors 颜色名称
- R col2rgb 颜色到 RGB 转换
- R convertColor 在色彩空间之间转换
- R contourLines 计算轮廓线
- R chull 计算一组点的凸包
- R check.options 设置带有一致性检查的选项
- R cairo 基于 Cairgraphics 的 SVG、PDF 和 PostScript 图形设备
- R cm 单位改造
- R cairoSymbolFont 指定符号字体
- R axisTicks 计算漂亮的轴刻度
- R hcl HCL 颜色规格
- R quartzFonts 石英字体
- R as.graphicsAnnot 强制图形注释对象
- R xyTable (x,y) 点的重数,例如,对于向日葵图
- R dev.interactive 当前图形设备是否具有交互性?
- R X11Fonts X11 字体
- R plotmath R 中的数学注释
- R dev.capture 将设备输出捕获为光栅图像
- R dev.size 查找设备表面的尺寸
- R pdf.options 设置/查看 pdf 参数默认值的辅助函数
- R densCols 平滑密度图的颜色
- R windows Windows 图形设备
- R rgb RGB 颜色规格
- R msgWindow 操纵窗口
- R dev.flush 保持或刷新屏幕图形设备上的输出
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Color interpolation。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。