手动更改ggplot的颜色

问题描述 投票:1回答:1

我正在尝试手动更改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工作室是最新的,我尝试重新启动。有什么可能阻止我的代码运行吗?

谢谢!

r ggplot2 colors
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.