当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R hcl HCL 颜色规格


R语言 hcl 位于 grDevices 包(package)。

说明

从指定色调、色度和亮度的向量创建颜色向量。

用法

hcl(h = 0, c = 35, l = 85, alpha, fixup = TRUE)

参数

h

颜色的色调指定为 [0,360] 范围内的角度。 0 产生红色,120 产生绿色,240 产生蓝色,等等。

c

颜色的彩度。色度的上限取决于色调和亮度。

l

[0,100] 范围内的值给出颜色的亮度。对于给定的色调和色度组合,只有该范围的子集是可能的。

alpha

alpha 透明度通道 [0,1] 范围内的值的数字向量(0 表示透明,1 表示不透明)。

fixup

一个逻辑值,指示是否应校正生成的 RGB 值以确保生成真实的颜色。如果 fixupFALSE 位于 [0,1] 范围之外的 RGB 分量将产生 NA 值。

细节

该函数对应于CIE-LUV颜色空间中的极坐标。该空间中相同大小的台阶对应于大致相同的颜色感知变化。因此,hcl 可以被认为是 hsv 的基于感知的版本。

该函数主要用于计算绘图中填充区域的颜色,其中面积对应于数值(饼图、条形图、马赛克图、直方图等)。选择具有相同色度和亮度的颜色提供了一种最小化照射错觉的方法,否则会产生关于区域有多大的误导性印象。

色度和亮度的默认值可以生成全范围的色调并具有相对宜人的柔和外观。

此函数生成的 RGB 值对应于大多数 PC 计算机显示器上使用的 sRGB 色彩空间。还有其他包提供更通用的色彩空间设施。

仅某些设备支持半透明颜色 (0 < alpha < 1):请参阅rgb

字符串向量,可用作颜色规范R图形函数。

hcl 中任何一个的缺失或无限值都会导致 NAalpha 的此类值被视为 1 (不透明)。

注意

目前无法保证 R 图形设备渲染的颜色与其 sRGB 说明相对应。未来计划采用sRGB作为标准R颜色说明。

例子

require(graphics)

# The Foley and Van Dam PhD Data.
csd <- matrix(c( 4,2,4,6, 4,3,1,4, 4,7,7,1,
                 0,7,3,2, 4,5,3,2, 5,4,2,2,
                 3,1,3,0, 4,4,6,7, 1,10,8,7,
                 1,5,3,2, 1,5,2,1, 4,1,4,3,
                 0,3,0,6, 2,1,5,5), nrow = 4)

csphd <- function(colors)
  barplot(csd, col = colors, ylim = c(0,30),
          names.arg = 72:85, xlab = "Year", ylab = "Students",
          legend.text = c("Winter", "Spring", "Summer", "Fall"),
          main = "Computer Science PhD Graduates", las = 1)

# The Original (Metaphorical) Colors (Ouch!)
csphd(c("blue", "green", "yellow", "orange"))

# A Color Tetrad (Maximal Color Differences)
csphd(hcl(h = c(30, 120, 210, 300)))

# Same, but lighter and less colorful
# Turn off automatic correction to make sure
# that we have defined real colors.
csphd(hcl(h = c(30, 120, 210, 300),
          c = 20, l = 90, fixup = FALSE))

# Analogous Colors
# Good for those with red/green color confusion
csphd(hcl(h = seq(60, 240, by = 60)))

# Metaphorical Colors
csphd(hcl(h = seq(210, 60, length.out = 4)))

# Cool Colors
csphd(hcl(h = seq(120, 0, length.out = 4) + 150))

# Warm Colors
csphd(hcl(h = seq(120, 0, length.out = 4) - 30))

# Single Color
hist(stats::rnorm(1000), col = hcl(240))

## Exploring the hcl() color space {in its mapping to R's sRGB colors}:
demo(hclColors)

作者

Ross Ihaka

参考

Ihaka, R. (2003). Colour for Presentation Graphics, Proceedings of the 3rd International Workshop on Distributed Statistical Computing (DSC 2003), March 20-22, 2003, Technische Universität Wien, Vienna, Austria. https://www.R-project.org/conferences/DSC-2003/.

也可以看看

hsvrgb

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 HCL Color Specification。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。