控制 R 中饼图标签的间隙?

Control the gap of pie labels in R?

t = table(iris$Species)
pie(t, labels=rownames(t))

这画的很简单pie。我希望标签离馅饼更远一点。我检查了 par() 文档,但我想我没有完全理解它,我错过了那个选项。

这个问题是关于 R 自己的 pie() 的,与任何其他外部 R 包无关。

我不认为你真的可以用 pie 函数做到这一点。如果您查看 View(pie),您会发现标签是使用 text 函数绘制的。这意味着它们并不是真正的轴标签,par 对它们的影响很小。您可以尝试使用文本函数的参数(即 pos = 2, offset = 1)来做一些事情,但这将以完全相同的方式影响所有标签并导致警告。在我看来,唯一的方法似乎是在标签之前/之后添加一些空格的愚蠢方法。即:

t = table(iris$Species)
nms = rownames(t)
# spaces needed after the labels
nms[2] = paste0(nms[2], strrep(' ', 7)) 
# spaces needed before the labels
nms[c(1, 3)] = paste0(strrep(' ', 7), nms[c(1, 3)])
pie(t, labels = nms)

如果你想要更好的解决方案,你可以重写 pie 函数使其更灵活一点或使用不同的包。