我正在尝试手动更改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工作室是最新的,我尝试重新启动。有什么可能阻止我的代码运行吗?
谢谢!
答案 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
生成以下图表,按剂量着色。
您应该在致电fill=Site
时添加aes
。