如何增加 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")
我遇到了与 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")