2016-02-03 15 views
5

Bên trái là cách biểu đồ bánh rán của tôi hiện trông giống như và bên phải làm thế nào nó sẽ giống như thế:Làm thế nào để phát nổ bánh rán biểu đồ lát bằng R (ggplot2)

enter image description here

Có cách nào để phát nổ biểu đồ bánh rán sử dụng R?

Đây là mã của tôi:

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()) 

Tôi rất biết ơn sự giúp đỡ nào!

Trả lời

4

Bạn có thể thử tạo xlimylim cho mỗi thể loại

ví dụ

liệu

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

calc bổ sung

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 

0.123.
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

Cũng làm việc tốt hơn hai loại

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

enter image description here

Các vấn đề liên quan