我正在尝试创建一个饼图,如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")
有人可以帮助我吗?
答案 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参数可以调整您的图例大小。因此可以通过更改这些参数值来调整图例。