我无法找到这个问题的答案,所以我发布了它。
我有一个堆叠的posts,用于比较数据中不同值的出现次数
现在,我想以降序排序,从最大的组合值开始。我尝试使用我用于普通条形图的方法:
barplot(combined[order(combined, decreasing = T)],
horiz = T,
las=1,
xlim = c(0,60),
col = c('lightblue','darkblue'))
但它会产生一个barplot
的条形图有没有办法正确订购?我已经看过ggplot的一些解决方案,但如果可能的话,我更喜欢坚持标准的条形图。
谢谢!
答案 0 :(得分:1)
您的问题是您在barplot()
函数中使用了矩阵。当您使用订单并计算combined[order(combined, decreasing=T)]
时,结果是一个向量。如果您想要在不考虑哪种颜色优先级的情况下订购列,可以使用以下代码:
barplot(combined[,order(apply(combined, 2, max))])
这样做是将函数max()
应用于矩阵的列(边距2,边距1将是行)。然后,您将按每列的最大值排序矩阵。
答案 1 :(得分:0)