Я пытаюсь использовать reorder
в факсимильном графике, который также использует scales = free_x
в ggplot2, но функция переупорядочения не переупорядочивает ось 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))
Запуск этого кода в кадре данных, считанного с этот файл с разделителями разделов дает график, в котором ось x каждого граненного участка только частично упорядочен. Кто-то еще на SO задал очень похожий вопрос, но единственным предлагаемым решением было использование сетки. Поскольку мой набор данных немного больше, чем набор данных в этом вопросе, это не будет очень быстрой операцией, поэтому я хотел спросить: есть ли способ изменить порядок оси x каждого грантового графика, так что показать полосы в увеличении (или уменьшении) порядка размера? Я был бы очень благодарен за любую помощь, которую другие могут предложить по этому вопросу.