R ggplot、堆叠条形图、x值顺序混淆
我有一个数据框架(mmt.ranking.sum_2),其中包含25个问题(第一列“问题”) 问题字符串前面依次是9a-h、10a-j、11a-g;i、 e.编号 对于每个问题,在r0-r5(2.-7.列)的课堂上有答案计数 这是熔化的&值被绘制到堆叠条形图中 df.熔化:9h-9a、11g-11a、10j-10a 你知道我为什么和怎样才能保持原来的秩序吗 谢谢你的帮助R ggplot、堆叠条形图、x值顺序混淆,r,bar-chart,R,Bar Chart,我有一个数据框架(mmt.ranking.sum_2),其中包含25个问题(第一列“问题”) 问题字符串前面依次是9a-h、10a-j、11a-g;i、 e.编号 对于每个问题,在r0-r5(2.-7.列)的课堂上有答案计数 这是熔化的&值被绘制到堆叠条形图中 df.熔化:9h-9a、11g-11a、10j-10a 你知道我为什么和怎样才能保持原来的秩序吗 谢谢你的帮助 谢谢,Georg您应该使用reorder对x轴进行重新排序,例如,替换 aes(questions,..) 借 你没有给出一
谢谢,Georg您应该使用
reorder
对x轴进行重新排序,例如,替换
aes(questions,..)
借
你没有给出一个可重复的例子,所以我不能从给定的解决方案中确定。这里有一些生成调查问卷数据的代码(我花了30分钟生成数据,不到一分钟就找到了解决方案,所以下次请尝试重现数据)
`请尽力将您的问题格式化。我试着打扫,但没有成功。我们应该复制并粘贴您的代码以帮助找到解决方案。感谢您为生成测试数据所做的努力。抱歉,但我试图附加原始材料的任何内容都被论坛软件阻止:(;Georg@user2500732欢迎来到SO。你可以阅读这篇关于如何提问的文章。
aes(questions,..)
aes(reorder(questions,as.numeric(gsub('([0-9]+).*','\\1',
df.melt$questions)),...)
## 6 questions
N <- 6
set.seed(123)
let <- sample(1:5,N,rep=TRUE)
qs <- lapply(seq(N),
function(x){
nn <- paste0(x,letters[1:20][seq(let[x])])
somtext <- replicate(3,paste(sample(c(0:9, letters, LETTERS),
5, replace=TRUE),
collapse=""))
paste(nn,'question text',paste0(somtext,collapse=' '))
})
questions <- unlist(qs)
dat <- matrix(sample(0:8,length(questions)*6,rep=TRUE),ncol=6)
colnames(dat) <- paste0('r',0:5)
dat <- data.frame(questions,dat)
library(reshape2)
df.melt <- melt(dat, id.vars="questions")
ggplot(df.melt, aes(reorder(questions,as.numeric(gsub('([0-9]+).*','\\1', df.melt$questions)))
,value, fill=variable)) +
geom_bar(stat='identity')+
theme_bw()+
coord_flip() +
scale_fill_brewer()