我正在尝试使用多行创建一个绘图,并且我想控制绘制线条的顺序,以便某些线条最终位于其他线条之上。例如,在下面的代码中,B被绘制在A的顶部。我可以通过重新分配group
的因子级别来反转这一点,但这也会改变绘图的其他方面,例如每行的颜色以及图例中组的顺序。有没有办法直接控制线条的绘制顺序,而不是其他任何东西,可能是通过美学?
library(ggplot2)
df <- data.frame(
group=rep(c("A", "B"), each=2),
x=c(0,1,0,1), y=c(0,1,1,0))
ggplot(df) +
aes(x=x,y=y,color=group) +
geom_line(size=3)
有一个名为aes_group_order
的ggplot2联机帮助页,但从版本2.1.0开始,它没有引用订单美学。似乎在an old version的联机帮助页中提到了顺序,但它的行为实际上没有记录,只是通过一些略有提示的示例来说明。
(编辑:根据ggplot2 release notes,“order
美学被正式弃用。它从未真正起作用,而且记录不佳。”)