我试图将一个向量传递给R(版本3.1.2)中的rgb
函数。根据{{1}}的文档,
可以通过将矩阵或数据框作为参数红色传递来指定颜色,并留下蓝色和绿色。在这种情况下,前三列红色被视为红色,绿色和蓝色值。
但是当我真的尝试这样做时,我收到一个错误:
rgb
相比之下,这很好用:
rgb(c(0, 0, 0))
# Error in rgb(c(0, 0, 0)) : argument "green" is missing, with no default
任何想法我做错了什么?
答案 0 :(得分:2)
实际上,一发布这个,我就找到了答案。该对象实际上必须是矩阵或data.frame。所以这可以正常工作:
rgb(matrix(c(0, 0, 0), ncol = 3))
# [1] "#000000"
糟糕。但希望这可以帮助别人。
答案 1 :(得分:0)
rgb
需要矩阵或数据框,而不是矢量。它返回颜色矢量,矩阵或数据框中的每一行颜色。所以这个两行矩阵:
matrix(1:6,2,3)
# [,1] [,2] [,3]
#[1,] 0.1 0.1 0.1
#[2,] 0.1 0.1 0.1
将生成2种颜色的矢量
rgb(matrix(0.1:0.9,2,3))
#[1] "#1A1A1A" "#1A1A1A"