手动更改ggplot的颜色

时间:2018-04-27 18:27:43

标签: r ggplot2 colors

我正在尝试手动更改ggplot中的颜色,以便我的箱图颜色编码成组(例如Qilai和Nagigi相同的颜色)。我运行了以下代码,它运行得很好。

B1 <- ggplot(tissue_A, aes(x=Site, y=d15N.permil)) + geom_boxplot() + 
  geom_signif(comparisons = list(c("Suva", "Nagigi")), y_position = 14.3, map_signif_level=TRUE) +  
  geom_signif(comparisons=list(c("Suva", "Qilai")),
  y_position = 13.8, tip_length = 0.03, vjust=0.2, map_signif_level=TRUE)

然后我尝试重新运行它,除了颜色之外,一切都有效。我使用以下代码更改了代码以分离出来:

B1 + labs(title = "T. jarbua Tissue", y = "δ15 permil") + scale_fill_manual(values = c("yellow","yellow", "red","red"), name = "Site")

ggplot(tissue_A, aes(x=Site, y=d15N.permil)) + geom_boxplot() + 
  geom_signif(comparisons = list(c("Suva", "Nagigi")), y_position = 14.3, map_signif_level=TRUE) +  geom_signif(comparisons=list(c("Suva", "Qilai")), y_position = 13.8, tip_length = 0.03, vjust=0.2, map_signif_level=TRUE) + scale_fill_manual(values = c("yellow","yellow", "red","red"), name = "Site")

除了颜色之外,我仍然拥有一切。我的R工作室是最新的,我尝试重新启动。有什么可能阻止我的代码运行吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我相信在调用fill时你错过了aes参数。请参阅this tutorial:

中的以下示例
library(ggplot2)

ToothGrowth$dose <- as.factor(ToothGrowth$dose)
bp<-ggplot(ToothGrowth, aes(x=dose, y=len, fill=dose)) +
  geom_boxplot()
bp

生成以下图表,按剂量着色。

ToothGrowth coloured by dose

您应该在致电fill=Site时添加aes