2012-03-13 54 views
3

現在、私はプロットの1つとしてフローティング円グラフを使用してレポートを作成しています。現在私はこの円グラフをプロットするためにplotrixパッケージを使用しています。しかし、私は他のすべてのプロットにggplot2を使用しているので、パイプロットは異なって見えます。だから私はggplot2を使ってプロットを作成しようとしています。現在、私は2つの問題があります: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'(またはHadley Wickhamによって提案された' geom_wedge')がまだないことを示唆しています存在します... –

+0

ありがとう、私は私の要求が現時点で実現可能ではないと思います。私はplotrixパッケージを使い続けています。 – jeroen81

+0

このブログ記事で私は素敵な解決策を見つけました:http://ygc.name/2015/08/31/subview/ – jeroen81

答えて

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

私は同意します、円グラフはほとんどひどいです。しかし、私はそれがちょうどいいと思う2つのパイの部分だけで。 – jeroen81

2

私は同じ問題を持っていた、問題を解決するggforeに基づいてscatterpieというパッケージがあります。

それはCRAN上だし、あなたがhere