【发布时间】:2016-12-14 13:25:59
【问题描述】:
示例数据框:
df <- data.frame(x=rep(1:10,4),y=rnorm(40),Case=rep(c("B","L","BC","R"),each=10))
我可以用以下方法绘制每个时间序列:
ggplot(df,aes(x=x,y=y,color=Case)) + geom_line()+facet_wrap(~Case,nr=2,nc=2)
现在,假设我想将构面顺序更改为(从左上角开始沿行到右下角)“L”、“B”、“R”、“BC”。这里关于 SO 的通常建议是做this。但是,如果我重新排序因子Case 的水平,曲线的颜色也会改变。是否可以在不改变曲线颜色顺序的情况下重新排列构面?我知道这听起来像是一个奇怪的问题。问题是我的报告正在进行中,并且在我已经向同事和管理层展示的旧版本报告中,或多或少有多个类似这样的图(没有facet_wrap):
ggplot(df,aes(x=x,y=y,color=Case)) + geom_line()
换句话说,现在人们习惯于将“B”与红色联系起来。如果我重新排序,“L”将为红色,“B”为绿色,依此类推。我已经可以听到抱怨......有什么办法摆脱这个吗?
【问题讨论】:
标签: r ggplot2 facet-wrap