我試圖在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