如何增加 canvas 大小或绘图区域,使其不会在 ggpubr::ggpie 中裁剪标签?

How can I increase canvas size or plot area so that it does not crop labels in ggpubr::ggpie?

我遇到了与 ggpubr #429 中提出的问题相同的问题:ggpie 切断了长名称。

好像canvas(?地块面积-白话真不清楚)太小了

我该如何修复它以免长名称被裁剪?

来自 GH 的示例:


df <- data.frame(
  group = c("Male", "Female", "Children but not teenager"),
  value = c(25, 25, 50))

ggpie(df, "value", label = "group")

感谢您的帮助!

您可以直接使用 trace(ggpie, edit = TRUE) 编辑 ggpie 的源代码,并通过添加 clip = "off" 更正第 26 行对 coord_polar() 的调用。这不会裁剪出坐标区域之外的文本。 或者,只需复制完整的源代码,进行此编辑,然后保存到您自己的自定义函数中,以便跨会话使用此功能。

...) + coord_polar(theta = "y", start = 0, clip = "off") + .remove_axis()

然后我们得到:

ggpie(df, "value", label = "group")

或者,正如@rawr 在下面提到的,您可以复制 coord_polar() 调用以获得相同的结果,只需确保指定 theta = "y".

ggpie(df, "value", label = "group") +
  coord_polar(theta = "y", clip = "off")