带有可变饼大小的ggplot2中的饼图

时间:2011-12-23 06:27:43

标签: r charts ggplot2 pie-chart

我已经尝试了各种方法在ggplot2中获取facet_grid饼图,以根据另一个变量(强度)改变宽度/半径。

geom_bar接受width = 0.5作为参数,但在添加coord_polar后会被忽略。对{ggplot Adding width=0.5 aes或向aes添加geom_bar不起作用。我看不到coord_polar的任何其他相关选项。最简单的方法是什么?下面的代码创建了一个漂亮的饼图网格,但不会改变饼图的大小。我错过了什么?

mydata <- data.frame(side1=rep(LETTERS[1:3],3,each=9),side2=rep(LETTERS[1:3],9,each=3),widget=rep(c("X","Y","Z"),9*3),val=runif(9*3),strength=rep(c(1,2,3),3,each=3))
ggplot(mydata, aes(x="",y = val, fill = widget, width = strength)) +
geom_bar(position="fill") + facet_grid(side1 ~ side2) +
coord_polar("y") + opts(axis.text.x = theme_blank()) 

1 个答案:

答案 0 :(得分:19)

你的意思是这样吗?

ggplot(mydata, aes(x=strength/2, y = val, fill = widget, width = strength)) +
  geom_bar(position="fill", stat="identity") + 
  facet_grid(side1 ~ side2) + 
  coord_polar("y") + 
  opts(axis.text.x = theme_blank()) 

enter image description here