如何在向堆积条形图添加统计数据后删除额外的图例?

时间:2012-10-25 14:56:42

标签: r ggplot2

我想创建带有轴中变量绝对值的堆积条形图,但是在每个条上添加百分比。这就是我的数据:

BAM  Mapping    Reads   fraction
bam1   Mapped 22493091 0.88940452
bam1 Unmapped  2796966 0.11059548
bam2   Mapped 27018375 0.88256156
bam3 Unmapped  3595212 0.11743844
bam3   Mapped 27238774 0.89441821
bam4 Unmapped  3215407 0.10558179
bam4   Mapped 19791746 0.82984107
bam4 Unmapped  4058298 0.17015893
bam5   Mapped 23298155 0.83144569
bam5 Unmapped  4723104 0.16855431
bam6   Mapped 22563538 0.83990722
bam6 Unmapped  4300784 0.16009278
bam7   Mapped 23940480 0.88134856
bam7 Unmapped  3222984 0.11865144

我快到了(没关系x标签 - 我在这里使用长名字):

gp <- ggplot(data=to_graph, aes(x=BAM, y=Reads, fill=Mapping, label=paste(round(fraction*100),"%", sep=""), size = 3,vjust=0, position = "stack")) +
     geom_bar(stat="identity") + 
    geom_text(position="stack")

enter image description here

但是在我想要摆脱的传奇之上有一个小小的方格。重要的是,为什么它出现在第一位呢?

干杯。

1 个答案:

答案 0 :(得分:2)

这个虚假的传说出现是因为你把aes里面的所有东西都放在那里,而不需要在那里。试试这个:

ggplot(data=to_graph, aes(x=BAM, y=Reads, fill=Mapping)) +
     geom_bar(stat="identity",position = "stack") + 
    geom_text(aes(label=paste(round(fraction*100),"%", sep="")),size = 3,vjust=0,position="stack")

通常,当您将美学映射到数据中的变量时,事情会进入aes。如果你只是设置它(即size = 3)超出aes。你置于aes内的任何东西一般都会导致ggplot尝试为这种审美创造一个传奇。

我认为我没见过position内的aes