2
ggplot(data,aes(x=ab,y=Freq/total,fill=Result))+
      geom_bar(stat="identity")+
     theme(strip.text.x = element_text(size=8, angle=0),
      strip.background = element_rect(colour="black", fill="#CCCCFF"))+
    ggtitle("H.somnus SIR %")+ylab("% SIR")+
    scale_y_continuous(labels=percent,breaks=seq(0,1,.1))+
    theme_set(theme_barplot())

以上是我正在使用的代码。数据是我已经融化的表格,但“结果”列按字母顺序排列,str(结果)是一个具有 4 个级别的因子:如 A、B、C、D。我想在底部显示最大条的条,顺序为 D、B、C、A

谢谢

4

1 回答 1

2

这是一个黑客修复,但它的工作原理。ggplot 将按照使用 stat = "identity" 时遇到的顺序绘制堆积条形图。要按 D、B、C、A 的顺序获取堆栈,请像这样重新排序您的 data.frame:

data <- data[c(data$Result == "D",
               data$Result == "B",
               data$Result == "C",
               data$Result == "A"),]

ggplot2帮助文件中的条目在这方面可能会更好。

于 2013-04-10T12:40:12.093 回答