當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。