我有一个相当复杂的图,它在我的数据中显示了三个不同的变量-请参见下面的示例图。我已删除其中一个图例,并试图通过填充正方形来更清楚地显示consonant
颜色。我尝试使用guide_legend(override.aes())
,但找不到调整该颜色的方法。有办法吗?
示例数据为:
exampledata <- tribble(~subject, ~group, ~time, ~consonant, ~type, ~n,
"1", "A", 1, "p", F, 10,
"1", "A", 1, "t", T, 12,
"1", "A", 1, "k", T, 50,
"2", "A", 1, "p", T, 0,
"2", "A", 1, "t", T, 45,
"2", "A", 1, "k", F, 23,
"2", "A", 2, "p", F, 2,
"2", "A", 2, "t", T, 34,
"2", "A", 2, "k", T, 56,
"3", "B", 1, "p", F, 12,
"3", "B", 1, "t", T, 13,
"3", "B", 1, "k", F, 50,
"4", "A", 1, "p", T, 10,
"4", "A", 1, "t", F, 12,
"4", "A", 1, "k", T, 50,
"5", "B", 1, "p", T, 0,
"5", "B", 1, "t", T, 24,
"5", "B", 1, "k", F, 3,
"5", "B", 2, "p", F, 23,
"5", "B", 2, "t", F, 12,
"5", "B", 2, "k", T, 7,
"6", "A", 1, "p", F, 52,
"6", "A", 1, "t", F, 12,
"6", "A", 1, "k", T, 64
)
还有到目前为止的ggplot
代码:
exampleplot <- ggplot(exampledata, aes(x = time, y=n,
fill=type, colour = consonant)) +
geom_col(lwd = 1, aes(linetype = group)) +
scale_linetype_manual(values = c("A" = "solid",
"B" = "twodash"), guide = F) +
facet_grid(~subject, scales = "free_x", switch = "x") +
scale_fill_manual(values=c("gray97", "gray77"),
labels = c("Type 1", "Type 2")) +
theme_bw(base_size = 18) +
theme(strip.text.x = element_text(angle=75),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
panel.border =element_blank(),
strip.background = element_blank())
plot(exampleplot)
答案 0 :(得分:2)
exampleplot <- ggplot(exampledata, aes(x = time, y=n,
alpha=type, fill = consonant, color = consonant)) +
geom_col(lwd = 1, aes(linetype = group)) +
scale_linetype_manual(values = c("A" = "solid",
"B" = "twodash"), guide = F) +
facet_grid(~subject, scales = "free_x", switch = "x") +
scale_alpha_discrete(range=c(0.4,0.8),
labels = c("Type 1", "Type 2")) +
theme_bw(base_size = 18) +
theme(strip.text.x = element_text(angle=75),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
panel.border =element_blank(),
strip.background = element_blank())
plot(exampleplot)
我在fill
和aes
中添加了alpha
,以保持Type
之间的差异。您要用实心平方输出吗?
答案 1 :(得分:1)
尝试一下:
ggplot(exampledata, aes(x = time, y=n,
fill=type, colour = consonant)) +
geom_col(lwd = 1, aes(linetype = group)) +
guides(colour = guide_legend(override.aes = list(fill = c("#F8766D", "#00BA38", "#619CFF")))) +
scale_linetype_manual(values = c("A" = "solid",
"B" = "twodash"), guide = F) +
facet_grid(~subject, scales = "free_x", switch = "x") +
scale_fill_manual(values=c("gray97", "gray77"),
labels = c("Type 1", "Type 2")) +
theme_bw(base_size = 18) +
theme(strip.text.x = element_text(angle=75),
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
panel.border =element_blank(),
strip.background = element_blank())
如果已添加以下行:
guides(colour = guide_legend(override.aes = list(fill = c("#F8766D", "#00BA38", "#619CFF"))))