http://had.co.nz/ggplot2/scale_manual.html上的ggplot2手册建议使用如下结构:
values = c("8" = "red","4" = "blue","6" = "darkgreen", "10" = "orange")
为值指定特定颜色。
如何从两个数组生成此结构:
A = c("8","4","6","10"); B = c("red","blue","darkgreen","orange")
我得到了:
rbind(A,B)
[,1] [,2] [,3] [,4]
A "8" "4" "6" "10"
B "red" "blue" "darkgreen" "orange"
但我不知道如何将其变成“X”=“Y”分配数组。
我意识到这是一个普遍的R问题,而不是ggplot2特有的问题。但我正在标记ggplot2以防万一将来有同样问题的人。任何建议都欢迎......
答案 0 :(得分:3)
这应该有效:
values = B
names(values) = A
> all.equal(values,
+ c("8" = "red","4" = "blue","6" = "darkgreen", "10" = "orange"))
[1] TRUE
您在模仿Python字典后的行为。有key
,value
对,并且引用特定键返回值。在此R示例中,keys
是字符向量的名称,values
是向量内的值。对于ggplot2,这会明确将密钥(例如"8"
)与颜色值("red"
)耦合。