2011-12-11 88 views
8

我困在ggplot2中制作的一系列极坐标直方图的小标签问题上(环绕?这些东西叫什么?)。调整coord_polar()直方图中文本标签的位置

下面是一个简单的例子,如何将数据和图表看:

df <- data.frame(Attribute1=10, Attribute2=1, Attribute3=2, Attribute4=6, Attribute5=7) 
g <- ggplot(melt.data.frame(df), aes(x=variable, y=value, fill=variable, label=value)) 
g <- g + geom_bar() + geom_text() + coord_polar() 
g 

这样做具有以下图表:向外 polar histogram example

我想移动文本标签(远离中央)。

通常情况下,我会调整与hjustvjustgeom_text()的位置,但似乎与coord_polar(),其结果是所有的标签向上/向下移动或向左/向右,而不是在/向外。

这听起来很平凡 - 可能是 - 但我还没有找到任何适用的例子或解决方法,所以我很抱歉,如果这个问题看起来很愚蠢。

回答

11

我假设你指的是数字值作为标签,并且你希望它们在饼形楔之外移动一点(而不是“属性1”文本)。

你可以只移动一些审美映射到geom_text呼叫,并添加一个小值的y值:

g <- ggplot(melt.data.frame(df), aes(x=variable, y=value, fill=variable)) 
g <- g + geom_bar() + geom_text(aes(y = value + 0.5,label = value)) + coord_polar() 
g 

enter image description here