小编And*_*rew的帖子

如何检测标签是否超出 ggplot2 图中的绘图区域?

我有一些代码,我经常使用它们来生成大量的条形图。条形由沿 x 轴的标签聚集在一起,然后每个单独的条形在条形本身的顶部都有一个标签。有时,单个条形标签的文本会超出绘图区域的顶部并被截断——具体取决于 x 轴标签的长度、单个条形标签的长度以及条形本身的高度。

我可以手动调整scale_y_continuous(limits=c(0,100))每个图以使其看起来不错。例如,如果条形的高度达到 100% 但标签很长,我可能会使用:scale_y_continuous(limits=c(0,140),breaks=c(0,25,50,75,100))。这将 y 轴刻度线停止在 100% 处,但在绘图区域的顶部为我的标签留下了额外的空间。如果条形图仅达到 40% 且标签较短,则将 y 限制保留在 c(0,140) 看起来很糟糕,因为 100% 标记上方有太多空白。

因为我制作了大量这些图,所以我想要一种方法来自动确定如何scale_y_continuous为每个图设置限制。手动操作太费时间了。

有没有办法测试标签是否被截断或超出绘图区域?如果是这样,我可以通过测试以查看标签是否被切断,然后稍微扩展 y 限制直到没有截断,从而迭代我的方式以获得漂亮的图。

plot text r ggplot2

4
推荐指数
1
解决办法
1362
查看次数

标签 统计

ggplot2 ×1

plot ×1

r ×1

text ×1