【问题标题】:What color palette is cm.colors() in R?R中的cm.colors()是什么调色板?
【发布时间】:2021-07-10 23:41:59
【问题描述】:

Base R (grDevices) 带有几个调色板功能,但是这些调色板的文档很差。我想知道cm.colors() 函数映射到哪个调色板。

例如:

plot(x = mtcars[order(mtcars$wt), c("wt", "mpg")],
     col = cm.colors(length(mtcars$wt)),
     pch = 16, cex = 1.25)

【问题讨论】:

  • 糖果融化了,可能:)
  • 哈哈哇。这是一个众所周知的调色板吗?

标签: r data-visualization


【解决方案1】:

这里是有根据的猜测。 cm 是 color map 的缩写”,(我理解)本身完全没有帮助。它是 cyan-magenta 的缩写。如果你看一下代码(这曾经是 Rhelp 上的标准响应)每当有人抱怨文档太少时)您会发现它实际上是 hsv 函数的包装器,具有特定端点,用于一系列颜色,“蓝色”的强度没有变化。

> cm.colors
function (n, alpha, rev = FALSE) 
{
  if ((n <- as.integer(n[1L])) > 0L) {
    even.n <- n%%2L == 0L
    k <- n%/%2L
    l1 <- k + 1L - even.n
    l2 <- n - k + even.n
    cols <- c(if (l1 > 0L) hsv(h = 6/12, 
                               s = seq.int(0.5, 
                                           if (even.n) { 0.5/k} else{ 0}, 
                                           length.out = l1), 
                               v = 1, 
                               alpha = alpha), 
              if (l2 > 1) hsv(h = 10/12,
                              s = seq.int(0, 0.5, length.out = l2)[-1L], 
                              v = 1, alpha = alpha))
    if (rev) 
      rev(cols)
    else cols
  }
  else character()
}
<bytecode: 0x5572a94bc638>
<environment: namespace:grDevices>
> ?hsv

HSV Color Specification
Description
Create a vector of colors from vectors specifying hue, saturation and value.

所以我的预感是错误的,如下所述。

> cm.colors(2)
[1] "#80FFFF" "#FF80FF"
> col2rgb("cyan")
      [,1]
red      0
green  255
blue   255
> col2rgb("magenta")
      [,1]
red    255
green    0
blue   255

而且我怀疑过去的 S/R 图形人认为我们应该知道这个颜色规范包含什么,或者我们会查找它:https://en.wikipedia.org/wiki/HSL_and_HSV

【讨论】:

  • 青色-品红色的简称。
  • @27ϕ9 真的吗?你的来源是什么?
  • 在文档中 - All of these functions (except the helper function hcl.pals) create a vector of n contiguous colors, either based on the HSV color space (rainbow, heat, terrain, topography, and cyan-magenta colors) or the perceptually-based HCL color space.
  • 鉴于Details: 的上下文以及该帮助文档中包含的功能,这对我来说(事后看来)完美 有意义。 (实际上,我开始通过R-source 查找cm.colors 的创建时间,希望提交提供一些上下文。我发现它在2003 年12 月“从基础拆分”,但找不到base/*.R 从中它被分割了,所以找不到它的实际来源。)
  • 谢谢@27ϕ9。我怀疑如果我现在将值插入代码,我可能会得到从 cyam=n 到洋红色的值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-03
  • 2021-01-10
  • 2016-09-25
  • 2015-05-29
  • 1970-01-01
  • 1970-01-01
  • 2014-11-01
相关资源
最近更新 更多