如何在ggplot2中按比例缩小y轴?

时间:2018-02-16 16:39:34

标签: r ggplot2

我创建了一个带有段总标签和列/栏总标签的堆积条形图。段总标签位于每个段的中间,列总标签位于每个列/栏的顶部。

ggplot(dataset, aes(x = Company, y = Incidents, fill = IncidentLevel)) +
  geom_col(position = position_stack(reverse = TRUE)) +
  # segment totals
  geom_text(data = subset(dataset, Incidents > 10),
        aes(label = Incidents), size = 4, position = position_stack(reverse = TRUE, vjust = 0.5)) +
  # column totals
  stat_summary(fun.y = sum, aes(label = ..y.. , group = Company), geom = "text", vjust = -1)

问题是最高的条形标签在图表末尾被剪切。 如何重新调整y轴以完全包含最高标签?

我在想两种可能的解决方案,虽然我不知道从哪里开始:

  1. 使用coord_cartesian来修复y轴限制,使其c(0, y-range + tallest bar label height)。那么问题是如何获得y范围?如何获得标签高度?
  2. 按比例增加y范围:y-range = y-range * 1.01 - 那么问题只是:如何获得y范围?
  3. P.S。 :抱歉,无法共享数据集。无论实际情节如何,这个问题都是有效的。每当您通过stat_summary或​​类似函数添加标签时,轴都不会重新调整它。

0 个答案:

没有答案