手动更改ggplot的颜色
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手动更改ggplot的颜色相关的知识,希望对你有一定的参考价值。
我正在尝试手动更改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工作室是最新的,我尝试重新启动。有什么可能阻止我的代码运行吗?
谢谢!
答案
我相信你在调用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
。
以上是关于手动更改ggplot的颜色的主要内容,如果未能解决你的问题,请参考以下文章