ggplot: как указать вертикальный порядок нескольких ящиков? - PullRequest
5 голосов
/ 12 августа 2010

Я хотел бы изменить порядок расположения больниц на диаграмме ниже, чтобы № 1 находился сверху, а № 4 - снизу.

Диаграмма была составлена ​​с

ggplot(survey,aes(x=hospital, y=age))+geom_boxplot()+coord_flip()+xlab("")+ylab ("\nPatient Age")

и мне нужен порядок сверху вниз, чтобы быть обратным тому, что есть сейчас. Я не уверен, почему так происходит сейчас. Столбец «больница» является фактором, если он имеет значение.

Большое спасибо!

alt text

1 Ответ

10 голосов
/ 12 августа 2010

У вас есть несколько вариантов.Проще всего было бы добавить

p + scale_x_reverse()

к сюжету.Вы также можете обратить вспять уровни коэффициента

relevel(survey$hospital, rev(levels(survey$hospital))) -> survey$hospital

. Или вы можете вручную определить порядок, в котором вы хотите коробки, с помощью xlim()

p + xlim("Hospital #4","Hospital #3","Hospital #2","Hospital #1")
.
...