Я следую примеру, приведенному в этом посте, для создания сгруппированной и сложенной гистограммы: -in-r">Как создать стопку столбцов внутри сгруппированной гистограммы в R
Из этого поста:
library(reshape2)
library(dplyr)
library(ggplot2)
test <- data.frame(person=c("A", "B", "C", "D", "E"),
value1=c(100,150,120,80,150),
value2=c(25,30,45,30,30) ,
value3=c(100,120,150,150,200))
melted <- melt(test, "person")
melted$cat <- ''
melted[melted$variable == 'value1',]$cat <- "first"
melted[melted$variable != 'value1',]$cat <- "second"
ggplot(melted, aes(x = cat, y = value, fill = variable)) +
geom_bar(stat = 'identity', position = 'stack') +
facet_grid(~ person)
Как показано выше, график упорядочивает значение2 поверх значения3.
То, что я пытаюсь сделать, это изменить порядок сложенной части, т.е. Я хотел бы разместить значение3 поверх значения2.
Я попытался вручную изменить порядок переменной:
melted2 <- melted %>%
arrange(desc(variable))
ggplot(melted2, aes(x = cat, y = value, fill = variable)) +
geom_bar(stat = 'identity', position = 'stack') +
facet_grid(~ person)
Но вывод сюжета выглядит идентично первому. По существу, переупорядочение входных данных не решает задачу.
Заранее спасибо!
?factor
или?reorder
. - person Roman Luštrik   schedule 03.05.2017