Я хочу создать сгруппированный график, сохраняя при этом порядок. Если это был один столбец, а не сгруппированный график, использование функции переупорядочения очевидно. Но не уверен, как использовать его на расплавленном data.frame.ggplot2: создать упорядоченный групповой график - (изменить порядок)
Здесь подробно объяснение с примерами кода:
Допустим, мы имеем следующие data.frame:
d.nfl <- data.frame(Team1=c("Vikings", "Chicago", "GreenBay", "Detroit"), Win=c(20, 13, 9, 12))
черчения простой бар участок, а листать ее.
ggplot(d.nfl, aes(x = Team1, y=Win)) + geom_bar(aes(fill=Team1), stat="identity") + coord_flip()
выше сюжета не будет иметь порядок, и если я хочу заказать заговор победы, я могу сделать следующее:
d.nfl$orderedTeam <- reorder(d.nfl$Team1, d.nfl$Win)
ggplot(d.nfl, aes(x = orderedTeam, y=Win)) + geom_bar(aes(fill=orderedTeam), stat="identity") + coord_flip()
Теперь давайте говорить мы добавим еще один столбец (для исходного кадра данных)
d.nfl$points <- c(12, 3, 45, 5)
Team1 Win points
1 Vikings 20 12
2 Chicago 13 3
3 GreenBay 9 45
4 Detroit 12 5
генерировать сгруппированный бар участок, сначала нужно расплавить:
library(reshape2)
> d.nfl.melt <- melt(d.nfl[,c('Team1','Win','points')],id.vars = 1)
> ggplot(d.nfl.melt,aes(x = Team1,y = value)) + geom_bar(aes(fill = variable),position = "dodge", stat="identity") + coord_flip()
над ggplot неупорядочен.
но как я упорядоченная группа бар участок (по возрастанию способ)
Вы заказан уровням факторов в первый раз, и это сработало. Возможно, попробуйте установить порядок уровня фактора на растеризованном фрейме данных ...? – joran
Возможный дубликат [Заказать бары в гистограмме ggplot2] (http://stackoverflow.com/questions/5208679/order-bars-in-ggplot2-bar-graph) – alistaire
Что-то связанное [здесь] (http: // stackoverflow. ком/вопросы/1721536/изменение-порядок, из-уклонился-бар-в-ggplot2-barplot). С укладкой вам просто нужно заказать набор данных перед графикой, но это, похоже, не работает для уклонения. – aosmith