将标签定位在分组的geom_bar图中

时间:2014-10-23 16:40:04

标签: r ggplot2

我在向ggplot2中的分组条形图添加文本时遇到问题。条形图看起来很棒,添加的标签是正确的。但是,我无法让标签与相应的条对齐......它们都放在条形组的中心。看来geom_text(position =" dodge")函数无论我尝试多少变化都不会起作用。任何建议都会很棒。

这是我的数据(注意它是一个子集):

year   loc group yield
1   2003 volga     0    41
2   2004 volga     0    46
3   2005 volga     0    64
4   2006 volga     0    51
5   2007 volga     0    58
6   2008 volga     0    42
7   2009 volga     0    58
8   2010 volga     0    53
9   2011 volga     0    62
10  2012 volga     0    42
11  2013 volga     0    NA
12  2014 volga     0    NA
61  2003 volga     1    51
62  2004 volga     1    46
63  2005 volga     1    66
64  2006 volga     1    54
65  2007 volga     1    60
66  2008 volga     1    44
67  2009 volga     1    61
68  2010 volga     1    58
69  2011 volga     1    61
70  2012 volga     1    42
71  2013 volga     1    46
72  2014 volga     1    57
121 2003 volga     2    44
122 2004 volga     2    47
123 2005 volga     2    67
124 2006 volga     2    56
125 2007 volga     2    59
126 2008 volga     2    47
127 2009 volga     2    54
128 2010 volga     2    61
129 2011 volga     2    54
130 2012 volga     2    44
131 2013 volga     2    44
132 2014 volga     2    52

这是我的代码:

data(mat012)
head(mat012)
#create volga subset
volga=subset(mat012, loc =="volga")
volga
#grouped barplot of volga
ggplot(volga, aes(x=factor(year), y=yield, fill=factor(group))) +
geom_bar(stat="identity", position="dodge") +
geom_text(aes(label=yield), position="dodge")

enter image description here

1 个答案:

答案 0 :(得分:1)

正如相关问题的答案所述,这应该有效:

ggplot(volga, aes(x=factor(year), y=yield, fill=factor(group))) +
geom_bar(stat="identity", position="dodge") +
geom_text(aes(label=yield), position = position_dodge(width=1))