分享

中间有圈(无圈)的饼形图

 生物_医药_科研 2019-02-03
放鞭炮,迎财神



library(ggplot2)

pieplot - function(xywidth=1) { 
  yy - cumsum(y)
  ddata.frame(ymin=yy-y + (1-width)/2
                ymax=yy - (1-width)/2
                group=x)
  ggplot(d) + 
    geom_rect(aes(xmin=0, xmax=1, ymin=ymin, ymax=ymax, fill=group)) + 
    coord_polar(theta='y') + theme_void() + ylim(0NA)
}
x - letters[1:5]
y - 1:5
pieplot(xy

出图:



library(ggplot2)

pieplot - function(xywidth=1) { 
  yy - cumsum(y)
  ddata.frame(ymin=yy-y + (1-width)/2
                ymax=yy - (1-width)/2
                group=x)
  ggplot(d) + 
    geom_rect(aes(xmin=0, xmax=1, ymin=ymin, ymax=ymax, fill=group)) + 
    coord_polar(theta='y') + theme_void() + ylim(0NA)
}
x - letters[1:9]
y - 1:9
pieplot(xy

出图:



library(ggplot2)

pieplot - function(xywidth=1) { 
  yy - cumsum(y)
  ddata.frame(ymin=yy-y + (1-width)/2
                ymax=yy - (1-width)/2
                group=x)
  ggplot(d) + 
    geom_rect(aes(xmin=0, xmax=1, ymin=ymin, ymax=ymax, fill=group)) + 
    coord_polar(theta='y') + theme_void() + ylim(0NA)
}
x - letters[1:5]
y - 1:5
pieplot(xy

出图:


library(ggplot2)

pieplot - function(xywidth=1) { 
  yy - cumsum(y)
  ddata.frame(ymin=yy-y + (1-width)/2
                ymax=yy - (1-width)/2
                group=x)
  ggplot(d) + 
    geom_rect(aes(xmin=0, xmax=1, ymin=ymin, ymax=ymax, fill=group)) + 
    coord_polar(theta='y') + theme_void() + ylim(0NA)
}
x - letters[1:8]
y - 1:8
pieplot(xy
pieplot(xywidth=.1) 

出图:



library(ggplot2)

pieplot - function(xywidth=1) { 
  yy - cumsum(y)
  ddata.frame(ymin=yy-y + (1-width)/2
                ymax=yy - (1-width)/2
                group=x)
  ggplot(d) + 
    geom_rect(aes(xmin=0, xmax=1, ymin=ymin, ymax=ymax, fill=group)) + 
    coord_polar(theta='y') + theme_void() + ylim(0NA)
}
x - letters[1:8]
y - 1:8
pieplot(xy
pieplot(xywidth=.9) 

出图:

如果要把饼图的各个扇形分开,就要设置width参数,并且此参数越小,分开的空隙越大,反之越小;如果想要中间空的,通过加xlim


library(ggplot2)

pieplot - function(xywidth=1) { 
  yy - cumsum(y)
  ddata.frame(ymin=yy-y + (1-width)/2
                ymax=yy - (1-width)/2
                group=x)
  ggplot(d) + 
    geom_rect(aes(xmin=0, xmax=1, ymin=ymin, ymax=ymax, fill=group)) + 
    coord_polar(theta='y') + theme_void() + ylim(0NA)
}
x - letters[1:8]
y - 1:8
pieplot(xy
pieplot(xy) + xlim(-1NA

出图:



library(ggplot2)

pieplot - function(xywidth=1) { 
  yy - cumsum(y)
  ddata.frame(ymin=yy-y + (1-width)/2
                ymax=yy - (1-width)/2
                group=x)
  ggplot(d) + 
    geom_rect(aes(xmin=0, xmax=1, ymin=ymin, ymax=ymax, fill=group)) + 
    coord_polar(theta='y') + theme_void() + ylim(0NA)
}
x - letters[1:8]
y - 1:8
pieplot(xy
pieplot(xy) + xlim(-.3NA

出图:



library(ggplot2)

pieplot - function(xywidth=1) { 
  yy - cumsum(y)
  ddata.frame(ymin=yy-y + (1-width)/2
                ymax=yy - (1-width)/2
                group=x)
  ggplot(d) + 
    geom_rect(aes(xmin=0, xmax=1, ymin=ymin, ymax=ymax, fill=group)) + 
    coord_polar(theta='y') + theme_void() + ylim(0NA)
}
x - letters[1:8]
y - 1:8
pieplot(xy
pieplot(xy) + xlim(-.5NA

出图:


library(ggplot2)

pieplot - function(xywidth=1) { 
  yy - cumsum(y)
  ddata.frame(ymin=yy-y + (1-width)/2
                ymax=yy - (1-width)/2
                group=x)
  ggplot(d) + 
    geom_rect(aes(xmin=0, xmax=1, ymin=ymin, ymax=ymax, fill=group)) + 
    coord_polar(theta='y') + theme_void() + ylim(0NA)
}
x - letters[1:8]
y - 1:8
pieplot(xy
pieplot(xy) + xlim(-.8NA

出图:


library(ggplot2)

pieplot - function(xywidth=1) { 
  yy - cumsum(y)
  ddata.frame(ymin=yy-y + (1-width)/2
                ymax=yy - (1-width)/2
                group=x)
  ggplot(d) + 
    geom_rect(aes(xmin=0, xmax=1, ymin=ymin, ymax=ymax, fill=group)) + 
    coord_polar(theta='y') + theme_void() + ylim(0NA)
}
x - letters[1:8]
y - 1:8
pieplot(xy
pieplot(xywidth=.5) + xlim(-.5NA

出图:


library(ggplot2)

pieplot - function(xywidth=1) { 
  yy - cumsum(y)
  ddata.frame(ymin=yy-y + (1-width)/2
                ymax=yy - (1-width)/2
                group=x)
  ggplot(d) + 
    geom_rect(aes(xmin=0, xmax=1, ymin=ymin, ymax=ymax, fill=group)) + 
    coord_polar(theta='y') + theme_void() + ylim(0NA)
}
x - letters[1:8]
y - 1:8
pieplot(xy
pieplot(xywidth=.1) + xlim(-.9NA

出图:




声明:本文基于参考文摘进行编辑

微信ID: lxdlxd19900511

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多