在开始之前,请允许我解释一下我的图表:我有两种基因型( WTB 和 whd ),每种都有两种情况( 0 和 7 ),所以我有四行。
现在,我想制作一个图,其中每个变量及其条件是相同的颜色。 whd 的任何内容都是黑色, WTB 的任何内容都将灰色。
我设法正确地用实线/虚线制作图表,但是,我在着色方面遇到了麻烦。我只能这样才能有灰色渐变。 scale_color_grey
是否有任何参数可以帮助我解决这个问题?
这是我的代码(我拿出部分代码以便于阅读):
ggplot(data=df4, aes(x=Day, y=Remain, group=Condition, shape=Condition, colour=Condition) +
theme_bw() +
geom_line(aes(linetype=Condition), size=1) +
geom_point(size=0, fill="#FFFFFF") +
scale_linetype_manual(name="Genotype",
values=c("solid", "dashed", "solid", "dashed")) +
scale_shape_manual(name="Genotype", values=c(1,19,1,19)) +
scale_color_grey(name="Genotype")
答案 0 :(得分:1)
我认为这段代码应该产生你想要的情节。但是,如果没有您的确切数据集,我必须生成模拟数据。
## Generate dummy data and load library
library(ggplot2)
df4 = data.frame(Remain = rep(0:1, times = 4),
Day = rep(1:4, each = 2),
Genotype = rep(c("wtb", "whd"), each = 4),
Condition = rep(c("0", "7"), times = 4 ))
接下来,我创建了一个分组变量:
df4$both = paste0(df4$Genotype, df4$Condition)
最后,我策划并保存了这个数字:
example <- ggplot(data=df4, aes(x=Day, y=Remain,
group=both,
color = Genotype,
linetype = Condition)) +
geom_line() +
scale_color_manual(values = c("grey50", "black")) +
scale_linetype_manual(values = c("solid", "dashed")) +
theme_bw()
ggsave("example.jpg", example)
从您的代码中,为什么您包含geom_point
并不明显。此外,如果您只想要一个子图例而不是两个,这个SO question提供了有关如何执行此操作的详细信息。