饼图和图例重叠

时间:2012-12-21 17:32:11

标签: r

我正在尝试创建一个饼图,如here,但图例和实际饼图重叠。

我使用的代码在这里:

library(ggplot2)
library(grid)

par(mai = c(1,1,1,1))

numb <- c(41, 30, 21, 8)
colors <- c("black", "grey70", "grey30","white")

numb_labels <- round(numb/sum(numb) * 100, 1)
numb_labels <- paste(numb_labels, "%", sep="")
xx <- c("the process of familiarizing with the codebase",
        "the patch review process",
        "the impact on the users of the project",
        "high degree visibility of the contributions")

pie(numb, col=colors, labels=numb_labels, clockwise=TRUE)

legend("top", legend = xx, fill=colors, bty="n")

有人可以帮助我吗?

3 个答案:

答案 0 :(得分:3)

我不知道你为何附上ggplot2

您可以使用layout

par(mai = c(0,0,0,0))
layout(c(1,2),heights=c(0.3,1))
plot.new()
legend("bottom", legend = xx, fill=colors, bty="n")
pie(numb, col=colors, labels=numb_labels, clockwise=TRUE)

答案 1 :(得分:2)

一种解决方案是将参数xpd=TRUE与函数par()一起使用,然后将图例区域外的图例设置为图例坐标。

par(xpd=TRUE)
pie(numb, col=colors, labels=numb_labels, clockwise=TRUE)
legend(-1.4,1.6, legend = xx, fill=colors, bty="n")

答案 2 :(得分:0)

par(mai = c(1,1,4,1),xpd = TRUE)

馅饼(麻木,col =颜色,标签= numb_labels,顺时针= TRUE)

图例(&#34;顶部&#34;,inset = c(0,-0.5),cex = 0.9,图例= xx,填充=颜色,bty =&#34; n&#34;)

注意:inset的第一个元素水平移动图例,垂直移动第二个元素。 cex参数可以调整您的图例大小。因此可以通过更改这些参数值来调整图例。