在 R 中绘制 3D GIF
Posted
技术标签:
【中文标题】在 R 中绘制 3D GIF【英文标题】:Plotting 3D GIF in R 【发布时间】:2021-07-18 00:39:38 【问题描述】:我正在使用 3 个向量 x
、 y
、 z
,每个向量的长度为 N(假设 N 是一个很大的自然数,比如 20000)。为了可视化这一点,我可以使用以下 R 代码轻松绘制:
library("plot3D")
lines3D(x, y, z, type = "l")
现在,我在想我们是否可以从矢量x
、y
、z
制作一个小的 3D 动画(即 3D GIF)。在 R 中可以吗?
注意:我以前在 R 中使用 ggplot2
、gganimate
、magick
等包的帮助下完成了 2D GIF。但是,我很好奇是否相同可以对 3D 数据进行操作。提前致谢。
【问题讨论】:
我很确定存在基于“rgl”的动画机会,但 SO 不鼓励在没有数据且不努力搜索的情况下提出问题。也不鼓励推荐包裹。 【参考方案1】:使用animation
包创建.gif 非常简单(注意它需要'ImageMagick' 或'GraphicsMagick' 才能运行)。安装后,你可以做这样的事情(我假设你想以不同的角度显示你的情节):
library(plot3D)
library(animation)
x <- runif(1000)
y <- x*2+runif(1000)
z <- sample(1:10,length(x),replace = T)*x/y
ani.options(interval=0.5,nmax=35)
saveGIF(for(t in seq(0,360,10))
lines3D(x, y, z, type = "l",theta=t)
, movie.name = "animation.gif")
【讨论】:
以上是关于在 R 中绘制 3D GIF的主要内容,如果未能解决你的问题,请参考以下文章