2012-03-13 108 views
3

目前我正在使用浮動餅圖作爲繪圖之一的報告。目前我使用plotrix軟件包來繪製這個餅圖。但是因爲我對所有其他地塊使用ggplot2,所以餅圖看起來不同。所以我試圖用ggplot2創建圖。目前我有兩個問題:使用ggplot創建浮動餅圖

  1. ggplot餅圖繪製在極座標系統上。我想在笛卡爾協調系統上繪製多個餅圖。目前我不知道該怎麼做。

  2. 我希望能夠控制笛卡爾座標系上的餅圖半徑。

這是我目前使用的代碼:

library("plotrix") 
plot(1:5, type="n", xlab="x", ylab="y") 
floating.pie(2, 3, c(1,3,5), radius=0.5) 
floating.pie(4, 2, c(2,4), radius=0.2) 
floating.pie(4.5, 4, c(3,2,5,1), radius=0.3) 

感謝您的時間和幫助。

+1

http://stackoverflow.com/questions/9233077/r-how-to-overlay-pie-charts-on-dots-in-a- scatterplot-in-r;同時,這次談話http://groups.google.com/group/ggplot2/browse_thread/thread/b1f81cf870202e2c/f1a60b0c16a2f62a?pli=1這表明'geom_pie'(或'由哈德利韋翰建議geom_wedge')不還存在... – 2012-03-13 13:45:01

+0

謝謝,我認爲我的要求在此刻不可行。我只是繼續使用plotrix軟件包。 – jeroen81 2012-03-14 18:02:37

+0

在這篇博客文章中,我找到了一個很好的解決方案:http://ygc.name/2015/08/31/subview/ – jeroen81 2015-09-01 08:35:21

回答

5
  1. 根據定義的餅圖使用極座標。您可以在使用笛卡爾座標的另一個圖形上疊加一些餅圖,但它可能會很糟糕。事實上,無論如何,餅圖總是很糟糕,所以要小心你想要的東西。

  2. coord_polar頁上的例子。

該代碼中的重要一點是指定半徑映射到「y」美學。

df <- data.frame(
    variable = c("resembles", "does not resemble"), 
    value = c(80, 20) 
) 
ggplot(df, aes(x = "", y = value, fill = variable)) + 
    geom_bar(width = 1, stat = "identity") + 
    scale_fill_manual(values = c("red", "yellow")) + 
    coord_polar("y", start = 2 * pi/3) + #<- read this line! 
    ggtitle("Pac man") 
+0

我同意,餅圖大多很糟糕。但只有兩個餡餅部分,我認爲這很好。 – jeroen81 2012-03-14 18:08:13

2

我有同樣的問題,還有一個基於ggfore解決問題稱爲scatterpie包。

它是在CRAN,你可以看到的例子here