我遇到了 R's named colors 的问题当我使用 ggvis 包时。例如,如果我将 ggvis 填充属性设置为“cadetblue”,它会起作用,但如果我将它设置为“cadetblue1”,它就不起作用。这是一个可重现的小例子:
library(ggvis)
pressure %>% ggvis(~temperature, ~pressure, fill := "cadetblue") %>% layer_bars()
当我将填充属性更改为“cadetblue1”时,绘图变为黑色。使用 ggvis 时,似乎只有名称中没有数字的主要命名颜色有效。有人知道为什么或者我在这里误解了什么吗?
最佳答案
我不知道为什么会这样,但是您可以通过将名称转换为十六进制来使用命名颜色。
col2rgb
将颜色名称转换为其 8 位数字 rgb 值(以 10 为基数呈现)。rgb
获取col2rgb
的输出(在使用t
(转置)从列向量转换为行向量之后)并将它们转换到相应的十六进制颜色代码。
因此,在您的情况下,代码将是:
fill := rgb(t(col2rgb("cadetblue1")), maxColorValue=255)
或者,查看各个步骤:
x = t(col2rgb("cadetblue1"))
red green blue [1,] 152 245 255
rgb(x, maxColorValue=255)
[1] "#98F5FF"
关于r - R 和 ggvis 中的命名颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41900391/