【问题标题】:Increasing space between plot labels增加绘图标签之间的空间
【发布时间】:2013-10-19 01:12:23
【问题描述】:

我正在使用来自 plotrix 包的 pie3D 绘制 3D 饼图:

dev.new(width=6, height=5)
pie3D(weights, radius = 0.8, labels=paste(names(weights), labels, sep = "\n"), explode=0.05, mar=c(4, 4, 4, 4), border = F, col = my.col, main="Asset Allocation", labelcex = 0.8, shade = 0.5)

我得到以下信息:

如您所见,标签彼此重叠。我尝试修改mar 输入(边距),但效果不佳。有没有办法增加图表上标签之间的间距,从而减少卡顿?请记住,我希望图形的半径保持固定在 0.9

谢谢!

【问题讨论】:

  • 对问题投反对票的人一定认为答案是显而易见的。然后,您能否提供一个建设性的答案,或者至少提供一个解释性评论,说明为什么会投反对票?一个简单的 -1 绝不是建设性的
  • 我没有投反对票,但由于您对上一个(已删除的)问题发表了相同的评论,您应该知道,除了有人认为它“明显”之外,还有许多其他原因可以否决一个问题”。 (在这种特殊情况下,饼图,更不用说 3D 饼图,肯定会吸引一些仇恨者。它们是可怕的、可怕的东西。)
  • 除了不喜欢饼图,尤其是那些伪旋转的饼图之外,还讨厌没有数据提出的问题。
  • 在数据可视化方面,唯一比饼图更糟糕的是 3D 饼图。这种类型的可视化为相同的组件赋予了不同的视觉权重。例如,尝试使用堆叠条形图。
  • 在我看来,农业作为细三角形的 8% 比 Intl.Developed.Equities 作为粗三角形的 7% 具有较小的视觉影响(即看起来更小)。添加仅在附近项目上可见的饼面的视觉影响,您会得到一个非常糟糕的图形。快停下。 [虽然没有理由投反对票]

标签: r pie-chart labels plotrix


【解决方案1】:

我猜你正在寻找pie3D.labels。例如:

library(plotrix)

vec <- sample(1:10)
labs <- paste('piece \n no', 1:10, sep = " ")

par(mfrow = c(2,1))
a <- pie3D(vec, radius = 0.8, explode = 0.05, mar = c(1,1,1,1))
pie3D.labels(a, radius = 0.8, labels = labs, labelcex = 0.7)

b <- pie3D(vec, radius = 0.8, explode = 0.05, mar = c(1,1,1,1))
pie3D.labels(sample(seq(0, 2*pi, 0.1), 10), radius = 0.8, labels = labs, labelcex = 0.7)

剧情:

【讨论】: