2017-12-17 2 views
2

私は、アニメーションされた円プロットを作成するためにggplot2を試しています。極座標を使ったアニメーションのプロット

私のデータは少し複雑ですが、ここでは簡単な例です:私がpを表示する場合

ex = data.frame(cat=c("cat1","cat2","cat1","cat2","cat1","cat2"), f = c(70,30,60,40,50,50), t=c(1,1,2,2,3,3)) 
ex$t = factor(ex$t) 

p = ggplot(ex, aes(x="", y=f, fill=cat, frame=t))+ 
    geom_bar(width = 1, stat = "identity") + 
    coord_polar("y", start=0) 

gganimate(p, "ex.gif", interval=1) 

、それはOKらしい:simple png

しかし、gif形式は大丈夫ではありません:gif

どのようにこのバグを解決するための任意のアイデア?

+0

は、[この](https://stackoverflow.com/questions/41453746/how-to-get-complete-rather-than-partialを見てください-pie-charts-gganimateを使用して)投稿してください。それが役に立てば幸い。 – markus

答えて

1

生成された.gifは私に似ています。各フレームは別々のデータで生成されます。おそらくあなたは徐々に円グラフを生成することを探しています。累積フレームを構築するには、cumulative = TRUEを使用する必要があります。

コードは次のように変更します。

p = ggplot(ex, aes(x="", y=f, fill=cat, frame=t, cumulative = TRUE))+ 
    geom_bar(width = 1, stat = "identity") + 
    coord_polar("y", start=0) 
+0

png画像はgifフレームの1つである必要があります。数字はすべて100になるので、パイはいっぱいになるはずです。 – Pad

+0

フルパイには300が表示されます。各観測値には最大300が加算されます。累積値がTRUEの場合、3番目のフレームでパイがフルになります。 – MKR

関連する問題