gpt4 book ai didi

r - 如何使用 R (ggplot2) 分解圆环图切片

转载 作者:行者123 更新时间:2023-12-02 03:17:48 24 4
gpt4 key购买 nike

左边是我的圆环图当前的样子,右边是它应该的样子:

enter image description here

有没有办法使用 R 来分解圆环图?

这是我的代码:

ggplot(dat, aes(fill = goalGroups, ymax = ymax, ymin = ymin, xmax = 4.8, xmin = 3)) +
geom_rect(color = "white") +
coord_polar(theta="y", direction = -1) +
xlim(c(0, 8)) +
theme_bw() +
theme(panel.grid=element_blank()) +
theme(axis.text=element_blank()) +
theme(axis.ticks=element_blank()) +
theme(axis.title.x = element_blank()) +
theme(axis.title.y = element_blank()) +
theme(panel.border = element_blank())

非常感谢您的帮助!

最佳答案

您可以尝试为每个类别创建 xlimylim

例如

数据

dat = data.frame(count=c(30,  10), category=c("A",  "C"),stringsAsFactors = F)

额外计算

dat$fraction = dat$count / sum(dat$count)
dat = dat[order(dat$fraction), ]
dat$ymax = cumsum(dat$fraction)-0.01
dat$ymin = c(0, head(dat$ymax, n=-1))+0.01
dat$all_=length(unique(dat$category))
dat$x1=dat$all_-(1:nrow(dat))*0.5+1
dat$x2=dat$all_-(1:nrow(dat))*0.5+2

情节

p2=ggplot()+aes(ymin=0)+geom_rect(data=dat,aes(fill=category,ymax=ymax, ymin=ymin,  xmax=x1, xmin=x2),color = "white")+
ylim(0,1)+
xlim(c(0,3+length(unique(dat$category))))+
coord_polar(theta="y", direction = -1) +
theme_bw() +
theme(panel.grid=element_blank()) +
theme(axis.text=element_blank()) +
theme(axis.ticks=element_blank()) +
theme(axis.title.x = element_blank()) +
theme(axis.title.y = element_blank()) +
theme(panel.border = element_blank())
p2

enter image description here

也适用于两个以上的类别

dat = data.frame(count=c(30,15,  10), category=c("A", "B", "C"),stringsAsFactors = F)

enter image description here

关于r - 如何使用 R (ggplot2) 分解圆环图切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35175606/

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