如何在 R 中的饼图旁边制作图例?

Posted

技术标签:

【中文标题】如何在 R 中的饼图旁边制作图例?【英文标题】:How can I make legend next to my piechart in R? 【发布时间】:2016-09-09 10:36:55 【问题描述】:

我在 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"。有关详细信息,请参阅?legendlegend("right", c("DH","UT","AM"), cex=0.7, fill=colors) 是否给出了预期的结果? 感谢您的回答。我已经有了答案;) 【参考方案1】:

您可以使用来自legendxy 参数(参见?legend):

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

但是,饼图可能不是表示数据的最佳方式,因为我们的眼睛不太擅长评估角度。饼图在我看来是合理的唯一用例是比较 2 个类别,因为有了手表,我们可以很容易地评估这些比例。

【讨论】:

A +1 指出饼图不是可视化数据的最佳方式 :-)(这也在帮助页面中突出显示,请参阅 ?pie 感谢它的代码!我必须制作饼图来可视化数据。 我觉得在论文里设置饼图比较好,这样别人一眼就能看懂你的数据 这就是我的意思,我认为您无法轻松理解饼图,因为判断角度不像判断位置那么容易。我认为这也是为什么你用百分比标记切片的原因,因为否则很难判断比例。快速的谷歌搜索会为您提供大量反对使用馅饼的材料(例如businessinsider.com/pie-charts-are-the-worst-2013-6?IR=T)

以上是关于如何在 R 中的饼图旁边制作图例?的主要内容,如果未能解决你的问题,请参考以下文章

如何在饼图上显示文字

使用 Chart js 的饼图图例样式

如何使用 JSON 和 ChartJS 制作一个显示某个年龄段人数的饼图?

MATLAB;带有 2+ / 拆分图例的饼图 R2017b

如何在chart.js中的饼图上方显示标签

如何在列中显示饼图的图例?