使用 ggplot 对facet_wrap 的级别重新排序

标签 r ggplot2

我有一个包含三个因素的现有数据集。我想使用facet_grid()绘制这三个因素,并根据它们在数据集中的排序方式而不是字母顺序对它们进行排序。这是否可以在不修改我的数据结构的情况下以某种方式完成?

数据如下:

https://dl.dropboxusercontent.com/u/22681355/data.csv

data<-read.csv("data.csv", head=T)

ggplot(data, aes(time,a, color="one")) + 
    geom_line(linetype=1, size=0.3) + 
    scale_y_continuous(breaks=seq(0,1,0.2)) + 
    scale_x_continuous(breaks=seq(100,300,50)) + 
    theme_bw() + 
    geom_line(aes(time,b)) + 
    geom_line(aes(time,c)) + 
    geom_line(aes(time,d))+facet_wrap(~X.1)

最佳答案

这个问题在 SO 上出现得太频繁了。您必须获得所需的列(您要分面的列)作为因子,其级别按您想要的顺序排列,如下所示:

data$X.1 <- factor(data$X.1, levels=unique(data$X.1))

现在,绘制它,您将按照所需的顺序获得多面图。

enter image description here

关于使用 ggplot 对facet_wrap 的级别重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18066870/

相关文章:

r - ggplot2 Shiny ,更改然后重新加载图像/绘图而不完全重新创建它

r - 是否可以将附加参数传递给scales包的trans_new?

r - 将冒号运算符或破折号从字符强制转换为 r 中单元格内的向量

css - 如何降低 Shiny 中输入字段的高度?

r - mlogit.data() 错误 : Assigned data `ids` must be compatible with existing data

mysql - .local(drv, ...) 中的错误 : Failed to connect to database: Error: Unknown database 'database1'

r - ggplot2 中的水平滑动条形图

r - 按时间仓提取向量名称

r - 在 R ggplot 中将多边形对齐在一起

r - 如何在ggplot2中创建类似于theme_bw的自定义主题?