我试图在facet-wrapped图中使用reorder
,该图也在ggplot2中使用scales = free_x
,但重新排序函数没有正确地重新排序x轴。以下是我正在运行的是什么:R:使用ggplot2中的free_x对facet_wrapped x轴重新排序
library(ggplot2)
df <- read.table("speaking_distribution_by_play.txt",
header = F,
sep = "\t")
ggplot(df, aes(x=reorder(V2, V3), y=V3)) +
geom_bar(stat = "identity") +
facet_wrap(~V1, ncol = 4, scales = "free_x") +
opts(title = "Distribution of Speakers in Shakespearean Drama") +
xlab("Speaking Role") +
ylab("Words Spoken") +
opts(axis.text.x=theme_text(angle=90, hjust=1))
运行从this tab-separated file读取数据帧上的代码产生在每个方位图的x轴仅部分有序的图。 Someone else on SO问了一个非常类似的问题,但唯一建议的解决方案是使用网格排列。因为我的数据集比那个问题中的数据集大得多,但是这不会是一个非常快速的操作,所以我想问一下:有没有办法重新排列每个分面图的x轴的顺序,以增加(或减少)大小顺序显示条形?我非常感谢他人在这个问题上提供的任何帮助。
哇...'opts'已经废弃了,因为2012年我认为这是你更新你的'ggplot2'包的时间。你的第一个带标题的'opts()'然后可以用'labs()'替换(你的'xlab'和'ylab'可以进去),你的第二个'opts'将被'theme() '。格雷戈尔谢谢, – Gregor 2014-10-07 14:48:56
谢谢!任何关于重新排序问题的想法? – duhaime 2014-10-07 14:51:56
如果你想在不同方面有不同的订单,我认为'grid.arrange'是你最好的选择。 – Gregor 2014-10-07 15:26:20