【发布时间】:2018-07-04 08:22:52
【问题描述】:
df <- data.frame(Depth = c(1, 2, 3, 4, 5, 6, 7, 8),
Var1 = as.factor(c(rep("A", 4), rep("B", 4))),
Var2 = as.factor(c(rep(c("C", "D"), 4))),
Value = runif(8))
g <- ggplot(df, aes(Depth, Value, col = Var1, shape = Var2, lty = Var2))+
geom_path(aes(group = interaction(Var1, Var2)), size = 0.5) +
geom_point(aes(group = interaction(Var1, Var2)), size = 1)+
scale_shape_manual(values = c(16, 5))+
ylab("Depth [cmbsf]")
g + guides(colour = guide_legend(override.aes = list(shape = 15, size = 4, linetype = 0)),
shape = guide_legend(override.aes = list(size = 4)))
我想修改Var2 的图例。我只想增加形状的大小,而不是线条的大小。不幸的是,形状指南中的size 参数也适用于线型。
如果我为线型添加另一个指南:
g + guides(colour = guide_legend(override.aes = list(shape = 15, size = 4, linetype = 0)),
shape = guide_legend(override.aes = list(size = 4)),
lty = guide_legend(override.aes = list(size=1)))
我明白了:
Warning message: In guide_merge.legend(init, x[[i]]) : Duplicated override.aes is ignored.
如何解耦用于图例的指南?
【问题讨论】:
-
嗯...我认为不可能,也许使用
g + guides(colour = guide_legend(override.aes=list(shape = 15, size = 4, linetype = 0)), shape = guide_legend(override.aes=list(size = 4)), lty=guide_legend("New",override.aes=list(size=1)))添加第三个图例