Tim*_*Tim 5 r ggplot2 exploded donut-chart
左边是我的圆环图当前的样子,右边是它的样子:
有没有办法用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())
Run Code Online (Sandbox Code Playgroud)
我非常感谢任何帮助!
您可以尝试为每个类别创建xlim和ylim
例如
dat = data.frame(count=c(30, 10), category=c("A", "C"),stringsAsFactors = F)
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
也适用于两个以上类别
dat = data.frame(count=c(30,15, 10), category=c("A", "B", "C"),stringsAsFactors = F)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
844 次 |
| 最近记录: |