带有极坐标的动画图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带有极坐标的动画图相关的知识,希望对你有一定的参考价值。

我正在尝试用ggplot2创建一个动画饼图。

我的数据有点复杂,但这是一个简化的例子:

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)

如果我显示p,似乎没问题:simple png

但是gif还不行:gif

知道如何解决这个bug吗?

答案

生成的.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) 

以上是关于带有极坐标的动画图的主要内容,如果未能解决你的问题,请参考以下文章

在ViewPager上,在onPageSelected上的片段上启动动画

片段之间动画的共享元素

Android 动画布局和视图

使用带有actionscript 3 Flash cs6的矩形或线条创建2D重复模式

根据顶点世界位置Y坐标修改Metal片段着色

VSCode自定义代码片段——CSS动画