r注释几何条形以上的值

时间:2016-04-14 22:36:47

标签: r ggplot2

考虑这个样本数据。

df <- data.frame(
  x = factor(c(1, 1, 2, 2)),
  y = c(.1, .3, .2, .1),
  grp = c("a", "b", "a", "b")
)

现在我使用ggplot创建图表,并使用geom_text()

对其进行注释
ggplot(data = df, aes(x, y, fill = grp, label = y)) +
      geom_bar(stat = "identity", position = "dodge") +
scale_y_continuous(limits=c(0,1)) +
      geom_text(position = position_dodge(0.9))

如何指定所有文本值在图形窗口顶部完全水平对齐?

1 个答案:

答案 0 :(得分:3)

您可以在aes(y=...)中指定geom_text。因此,对于图形窗口顶部的数字,您将拥有

ggplot(data = df, aes(x, y, fill = grp, label = y)) +
    geom_bar(stat = "identity", position = "dodge") +
    geom_text(aes(y=Inf), position = position_dodge(0.9))

你可能想要放在+ ylim(0, 4)中来扩大情节区域。

匹配已修改的问题:

ggplot(data = df, aes(x, y, fill = grp, label = y)) +
    geom_bar(stat = "identity", position = "dodge") +
    scale_y_continuous(limits=c(0,1)) +
    geom_text(aes(y=0.9), position = position_dodge(0.9))  ## can specify any y=.. value