减少ggplot2饼图

时间:2016-06-26 01:53:39

标签: r ggplot2

我在文档中包含饼图,其他图表在ggplot2中,因此我想使用ggplot2来保持图表的一致性。但是,饼图不会延伸到边距

dat <- structure(list(y = c(0.0714285714285714, 
                            0.0714285714285714, 
                            0.107142857142857, 
                            0.160714285714286, 
                            0.25, 
                            0.339285714285714), 
                      x = structure(c(1L, 3L, 4L, 5L, 6L, 2L), 
                                    .Label = c("1 to 5", "6", "7", "8", "9", "10"), 
                                    class = "factor")), 
                 class = "data.frame", 
                 .Names = c("y", "x"), row.names = c(NA, -6L))

ggplot(dat, aes(x = factor(1), y = y, fill = factor(x))) + 
  geom_bar(width = 1, stat = "identity") + 
  coord_polar(theta  = "y") + 
  theme_grey()

我正在使用theme_void();我已经使用theme_grey来说明这一点:饼图的边缘在面板中不会延伸得足够远。如何使饼的直径等于(或非常接近)面板的宽度?修改width=1scale_x_discrete(expand = c(0,0))无效。 coord_polar的论据似乎没有提供任何线索。

enter image description here

1 个答案:

答案 0 :(得分:0)

这实际上并没有解决您的问题,但它确实将饼图区域扩大到大约面板的初始大小。

ggplot(dat, aes(x = factor(1), y = y, fill = factor(x))) + 
geom_bar(width = 1, stat = "identity") + 
coord_polar(theta  = "y") + 
guides(fill=guide_legend(override.aes=list(colour=NA))) +
theme(panel.grid.major = element_blank(),
      panel.grid.minor = element_blank(),
      axis.text.x=element_blank(),
      plot.margin = unit(c(-.75,-.75,-.75,-.75),"cm")
      )