我正在组合具有不同线型的各种geom_vline
的图表。问题是它们在图例中不容易区分,尤其是当线型数量增加时。我想知道是否有一种方法可以将它们显示为图例中的水平线,因为图表中唯一的线条都是垂直的。
示例:
plot_test <- ggplot() +
geom_vline(aes(xintercept = 1, linetype="Line 1"), linewidth=1) +
geom_vline(aes(xintercept = 2, linetype="Line 2"), linewidth=1) +
geom_vline(aes(xintercept = 3, linetype="Line 3"), linewidth=1) +
geom_vline(aes(xintercept = 4, linetype="Line 4"), linewidth=1) +
geom_vline(aes(xintercept = 5, linetype="Line 5"), linewidth=1) +
scale_linetype_manual("",values=c("Line 1"=1, "Line 2"=2, "Line 3" = 3, "Line 4"=4, "Line 5"=5))+
theme_bw()
plot_test
提供:
guides(linetype=guide_legend(override.aes = list(key_glyph="path")))
这样的东西不能起作用,以便更改所有图层而不是编辑每个图层? - MrFlickGeomVline
的draw_key
成员中编写另一个draw_key
函数。这样做似乎会改变对象的命名空间。 - Allan Cameronguides
来改变,所以也许值得将其作为一个问题提交给ggplot。 - MrFlickkey_glyph
参数。 - Elk