样本数据框:

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)

r - 是否可以仅对facet_wrap的各个方面进行重新排序,而无需对基础因子级别进行重新排序?-LMLPHP
现在,假设我想将构面顺序更改为(从行的左上角开始,到行的右下角)“L”,“B”,“R”,“BC”。关于SO的通常建议是做this。但是,如果我重新排序Case因子的级别,曲线的颜色也会改变。是否可以在不更改曲线颜色顺序的情况下重新排列构面?我知道这听起来像个奇怪的问题。问题是我的报告仍在进行中,并且在我已经向同事和管理层展示的旧版本的报告中,或多或少有多个类似这样的图(没有facet_wrap):
ggplot(df,aes(x=x,y=y,color=Case)) + geom_line()

r - 是否可以仅对facet_wrap的各个方面进行重新排序,而无需对基础因子级别进行重新排序?-LMLPHP

换句话说,到目前为止,人们已经习惯于将“B”与红色相关联。如果我重新排序,“L”将为红色,“B”将为绿色,依此类推。我已经可以听到投诉了……从这个办法中可以解决吗?

最佳答案

只需按照所需顺序将数据复制到新列中即可。将新列用作构面,将旧列用作颜色。

df$facet = factor(df$Case, levels = c("L", "B", "R", "BC"))

ggplot(df, aes(x = x, y = y, color = Case)) +
    geom_line() +
    facet_wrap(~facet, nr = 2)

关于r - 是否可以仅对facet_wrap的各个方面进行重新排序,而无需对基础因子级别进行重新排序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38834814/

10-09 00:58