我试图找出在 ggplot 中制作的发散堆积条形图。我按照此处发布的示例进行操作。一切正常,除了图左侧的堆叠条的顺序。
从我读到的内容来看,默认值应该是条形按照它们在我的数据框中的顺序堆叠,但它们不是。我确保我的数据框的顺序是“非常不同意”、“大部分不同意”、“中低”;但他们按“基本不同意”、“中低”、“非常不同意”的顺序绘制。这甚至不是按字母顺序排列,所以我不确定它为什么这样做。
这是我的代码:
library(ggplot2)
library(reshape2)
library(RColorBrewer)
library(dplyr)
library(ggthemes)
library(stringr)
my.data<-read.csv("survey_data.csv")
my.title <- "My title"
my.levels<-c("Strongly Disagree", "Mostly Disagree", "Neutral", "Mostly Agree", "Strongly Agree")
my.colors <- c("#CA0020", "#F4A582", "#DFDFDF", "#DFDFDF", "#92C5DE", "#0571B0")
my.legend.colors <- c("#CA0020", "#F4A582", "#DFDFDF", "#92C5DE", "#0571B0")
my.lows <- my.data[1:24,]
my.highs <- my.data[25:48,]
by.outcome=group_by(my.highs,outcome)
my.order <- summarize(by.outcome, value.sum=sum(value))
my.vector <- seq(1,8)
for(i in 1:8) {my.vector[i] <- my.order[[2]][i]}
new.factor.levels <- my.order[[1]][order(my.vector)]
my.lows$outcome <- factor(my.lows$outcome,levels = new.factor.levels)
my.highs$outcome <- factor(my.highs$outcome,levels = new.factor.levels)
ggplot() + geom_bar(data=my.highs, aes(x=outcome, …Run Code Online (Sandbox Code Playgroud)