【问题标题】:R and GGPLO2: Factor variable to drive Color in PlotR 和 GGPLOT2:驱动绘图中颜色的因子变量
【发布时间】:2018-03-26 12:21:42
【问题描述】:

总结:在 R 中,我希望 ggplot 根据数据框中的因子变量来对齐 geom_point 的颜色。

以下是数据示例:

#CREATE VECTORS
C1<-c(2,2,2,1,1,0,0)
C2<-c(1,1,2,1,0,0,1)
C3<-c("YELLOW", "YELLOW",   "GREEN","RED",  "RED",  "RED",  "RED")

#COMBINE VECTORS - CREATE DATAFRAME
x<- data.frame(cbind(C1,C2,C3))

使用 ggplot 创建绘图:

ggplot(x, aes(C1,C2)) +
  geom_jitter(aes(color=C3)) +
  geom_point(aes(color=C3))

我希望 C3 变量选择绘图中的颜色,即 GREEN=green、RED=red 和 YELLOW=yellow

【问题讨论】:

  • 您应该使用 scale_colour_manual 对配色方案进行编码:... + scale_colour_manual(values = c("GREEN" = "green", "RED" = "red", "YELLOW" = "yellow"))
  • 这可能只是一个玩具示例,但一般来说,不要在数据中使用颜色名称来映射到绘图中的颜色。使用与数据中的组相对应的有意义的标签,并将实际颜色值保留为可视化色标中的实施细节。阅读here了解更多信息。
  • Andrew Milligan:感谢您的回复,您的解决方案有效。你是对的,这是一个“玩具例子”。我拼出“黄色”=“黄色”只是为了确保我明白了我的意思。我从 bergant 的反应中看到更多的是我正在寻找的,因为图中的颜色完全取决于 C3 中的值:颜色 = C3。再次感谢您的宝贵时间。

标签: r ggplot2


【解决方案1】:

scale_color_identity。 例如:

ggplot(x, aes(C1, C2, color = C3)) +
  scale_color_identity()+
  geom_jitter() +
  geom_point()

【讨论】:

  • bergant,感谢您的回复,这是我脑海中的想象,但无法在代码中实现。再次感谢您的时间和解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-18
  • 2015-08-02
  • 1970-01-01
相关资源
最近更新 更多