如何在R中让图例显示在饼图旁边?

5

我用下面的代码在R中制作了一个饼图:

#make slices
slices <- c(19, 26, 55)

# Define some colors 
colors <- c("yellow2","olivedrab3","orangered3")

# Calculate the percentage for each day, rounded to one decimal place
slices_labels <- round(slices/sum(slices) * 100, 1)

# Concatenate a '%' char after each value
slices_labels <- paste(slices_labels, "%", sep="")

# Create a pie chart with defined heading and custom colors and labels
pie(slices, main="Sum", col=colors, labels=slices_labels, cex=0.8)

# Create a legend at the right   
legend("topright", c("DH","UT","AM"), cex=0.7, fill=colors)

但我想要我的饼图旁边有说明文字。我也尝试了以下代码:legend("centreright", c("DH","UT","AM"), cex=0.7, fill=colors)。 但这并没有在我的饼图旁边给我一个说明文字。

我应该使用哪个代码才能让我的饼图中间有说明文字?


lengend 不识别 "centreright"。请参阅 ?legend 了解详情。使用 legend("right", c("DH","UT","AM"), cex=0.7, fill=colors) 是否能得到所需结果? - Jaap
谢谢你的回答。我已经得到了答案;) - user5543269
1个回答

6

您可以使用 legend(参见?legend)中的xy参数进行调整:

legend(.9, .1, c("DH","UT","AM"), cex = 0.7, fill = colors)

然而,饼图可能不是表示您的数据的最佳方式,因为我们的眼睛在评估角度方面并不太好。在我看来,使用饼图似乎仅在比较两个类别时才是合理的,因为由于表盘,我们可以相对容易地评估这些比例。

enter image description here


1
赞一个,指出饼图不是可视化数据的最佳方式 :-)(这也在帮助页面中强调,参见?pie - Jaap
谢谢你提供的代码,它起作用了!我需要制作饼图来可视化数据。 - user5543269
我认为在论文中设置饼图是很好的,这样其他人就可以一眼看懂你的数据。 - user5543269
这就是我的观点,我认为你不可能轻易地理解饼图,因为判断角度并不像判断位置那么容易。我认为这也是你用百分比标记切片的原因,否则很难判断比例。快速的谷歌搜索会给你大量的材料反对使用饼图(例如http://www.businessinsider.com/pie-charts-are-the-worst-2013-6?IR=T)。 - thothal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接