ggplot2中的重新排序因子级别不适合y geom_text注释

时间:2013-05-10 14:08:54

标签: r ggplot2

我在ggplot2中遇到了问题。如果我重新排序因子水平并绘制文本标签值(在本例中为频率),则文本标签值仍保留在旧级别中。 怎么了???? enter image description here

29和71是频率,但我希望在绿线上安装29,在红线上安装71。如果你反转情节,数字很合适! Thaaanks 这里是图表的代码:

with(data4,
     ggplot(subset(data4,ASSAGGIATORE=="Manera"),
            aes(ASSAGGIATORE,Freq,fill=SCELTA)) +
       geom_bar() +  
       geom_text(aes(label=round(Freq)),
                 position="stack") + 
       scale_size(range=c(5,6)) +                   
       geom_hline(aes(yintercept=mediana),
                  colour="navy",
                  linetype="dotted") + 
       scale_fill_manual(values=c("chartreuse3","brown1"),
                         name="RISPOSTE",
                         labels=c("% Risposte Corrette","% Risposte Sbagliate")) +
       geom_text(aes(1,
                     mediana,
                     label="Assaggiatore Medio",
                     vjust=0),
                 size=4,
                 colour="navy") + 
       scale_y_continuous('% Totale Assaggi'))

这里是data4的例子

SCELTA   ASSAGGIATORE    Freq     Mediana
no       Manera          28.57143 63.33333
si       Manera          71.42857 63.33333

我想我得到了解决方案:

ggplot(subset(data4,ASSAGGIATORE=="Manera"),
   aes(ASSAGGIATORE,Freq,fill=SCELTA),label=Freq)+geom_bar()+
      stat_bin(geom="text", aes(position='stack', label=Freq,))

1 个答案:

答案 0 :(得分:1)

ggplot(subset(data4,ASSAGGIATORE=="Manera"),
  aes(ASSAGGIATORE,Freq,fill=SCELTA),label=Freq)+geom_bar()+
    stat_bin(geom="text", aes(position='stack', label=Freq,))

enter image description here