gpt4 book ai didi

r - ggplot donut chart 不符合预期

转载 作者:行者123 更新时间:2023-12-04 16:12:15 25 4
gpt4 key购买 nike

我正在尝试使用 ggplot2 和以下数据(示例)创建一个 donut chart 。

    library(ggplot2)
library(svglite)
library(scales)

# dataframe
Sex = c('Male', 'Female')
Number = c(125, 375)
df = data.frame(Sex, Number)
df

我用来生成圆环图的代码是
    ggplot(aes(x= Sex, y = Number, fill = Sex), data = df) +
geom_bar(stat = "identity") +
coord_polar("y") +
theme_void() +
theme (legend.position="top") + # legend position
geom_text(aes(label = percent(Number/sum(Number))), position = position_stack(vjust = 0.75), size = 3) +
ggtitle("Participants by Sex")

上面的代码生成了下面的图表。有些人不相信图表。

enter image description here

出于我们的目的,下表可以更好地传达信息。我如何创建这样的图表。我的代码哪里做错了?我用谷歌搜索没有任何成功。
预先感谢您的帮助。
enter image description here

最佳答案

他们不在同一个“圈子”中,因为他们有不同的 x值。首先把它想象成一个正常的情节(即没有 coord_polar("y") ),这将变得清晰。你真正想要的是它们设置在相同的 x值然后堆叠。我这里设置了x2因为它可以制作一个大小合适的“ donut ”。

donut <- ggplot(df, aes(x = 2, y = Number, fill = Sex)) +
geom_col(position = "stack", width = 1) +
geom_text(aes(label = percent(Number/sum(Number))), position = position_stack(vjust = 0.75), size = 3) +
xlim(0.5, 2.5) +
ggtitle("Participants by Sex")

donut

enter image description here
donut +
coord_polar("y") +
theme_void() +
theme(legend.position="top")

enter image description here

关于r - ggplot donut chart 不符合预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49964329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com