如何在 RStudio 中打开动画图 (gif/mp4)?
How to open animated plots (gif/mp4) in RStudio?
我在受限的研究环境(Windows 10 VM 进行了一些修改)中使用带有 {gganimate}
软件包的 RStudio 在 .gif
和 [=14] 中创建动画图=] 格式 - 当它们在 RStudio 中呈现时,它们显示正常,但如果我使用 anim_save()
保存文件,我无法在提供的 Windows 图像查看器或网络浏览器(或.mp4
) 的媒体播放器 - 它总是说文件已损坏或无法显示。
将这些文件从受限环境中导出需要一个漫长的过程,所以我想检查一下它们是否真的损坏了,或者只是因为某种原因无法在这个特定的 OS 中显示. RStudio 可以 open/display .gif
文件或视频吗?注意:我知道如何使用 print()
/plot()
方法显示动画 - 这是关于 opening/displaying 导出后的外部动画文件。
生成动画图并另存为.gif
/.mp4
的示例代码如下:
library(ggplot2)
library(gganimate) # package {av} also required to save as mp4
animated_plot <-
ggplot(mtcars, aes(x = wt, y = hp, colour = as.factor(cyl))) +
geom_point() +
transition_states(cyl, transition_length = 3, state_length = 1) +
enter_fade() +
exit_fade() +
labs(title = "Cyl: {closest_state}")
## save as gif
anim_save(
filename = "animation.gif",
animation = animate(animated_plot)
)
## save as mp4
anim_save(
filename = "animation.mp4",
animation = animate(animated_plot,
renderer = av_renderer())
)
(我的备份计划是使用 file_renderer()
将单个帧导出为图像并稍后将它们制成动画,例如 )
我稍微修改了你的代码,现在可以正常使用了。
library(ggplot2)
library(gganimate) # package {av} also required to save as mp4
animated_plot <-
ggplot(mtcars, aes(x = wt, y = hp, colour = as.factor(cyl))) +
geom_point() +
transition_states(cyl, transition_length = 3, state_length = 1) +
enter_fade() +
exit_fade() +
labs(title = "Cyl: {closest_state}")
## save as gif
animation = animate(animated_plot)
anim_save(
filename = "animation.gif")
## save as mp4
animation1 = animate(animated_plot,
renderer = av_renderer())
anim_save(
filename = "animation.mp4")
animation1 #to display a video in the RStudio's viewer
animation #to display a gif in the RStudio's viewer
例子:
加一个:
如果需要,您可以在内部 RStudio 浏览器中打开 gif 或 mp4:
制作一个简单的 Rmarkdown 文件并编织到 html:
---
title: "Untitled"
output:
html_document
---
<img src="animation.gif"/>
<video controls autoplay>
<source src="animation.mp4" type="video/mp4">
</video>
又加了一个。
你应该安装 library(rstudioapi)
看完这个link:
https://rstudio.github.io/rstudioapi/reference/viewer.html
制作一个带有 img / video 标签的简单 html 文件,例如animation.html
并通过查看器打开:
<!doctype html>
<html lang=en>
<head>
<meta charset=utf-8>
<title>blah</title>
</head>
<body>
<img src="animation.gif"/>
<video controls autoplay>
<source src="animation.mp4" type="video/mp4">
</video>
</body>
</html>
rstudioapi::viewer("animation.html")
后备 :) library(ricomisc)
使用命令:rstudio_viewer("xxx.html")
祝你好运;)
我在受限的研究环境(Windows 10 VM 进行了一些修改)中使用带有 {gganimate}
软件包的 RStudio 在 .gif
和 [=14] 中创建动画图=] 格式 - 当它们在 RStudio 中呈现时,它们显示正常,但如果我使用 anim_save()
保存文件,我无法在提供的 Windows 图像查看器或网络浏览器(或.mp4
) 的媒体播放器 - 它总是说文件已损坏或无法显示。
将这些文件从受限环境中导出需要一个漫长的过程,所以我想检查一下它们是否真的损坏了,或者只是因为某种原因无法在这个特定的 OS 中显示. RStudio 可以 open/display .gif
文件或视频吗?注意:我知道如何使用 print()
/plot()
方法显示动画 - 这是关于 opening/displaying 导出后的外部动画文件。
生成动画图并另存为.gif
/.mp4
的示例代码如下:
library(ggplot2)
library(gganimate) # package {av} also required to save as mp4
animated_plot <-
ggplot(mtcars, aes(x = wt, y = hp, colour = as.factor(cyl))) +
geom_point() +
transition_states(cyl, transition_length = 3, state_length = 1) +
enter_fade() +
exit_fade() +
labs(title = "Cyl: {closest_state}")
## save as gif
anim_save(
filename = "animation.gif",
animation = animate(animated_plot)
)
## save as mp4
anim_save(
filename = "animation.mp4",
animation = animate(animated_plot,
renderer = av_renderer())
)
(我的备份计划是使用 file_renderer()
将单个帧导出为图像并稍后将它们制成动画,例如
我稍微修改了你的代码,现在可以正常使用了。
library(ggplot2)
library(gganimate) # package {av} also required to save as mp4
animated_plot <-
ggplot(mtcars, aes(x = wt, y = hp, colour = as.factor(cyl))) +
geom_point() +
transition_states(cyl, transition_length = 3, state_length = 1) +
enter_fade() +
exit_fade() +
labs(title = "Cyl: {closest_state}")
## save as gif
animation = animate(animated_plot)
anim_save(
filename = "animation.gif")
## save as mp4
animation1 = animate(animated_plot,
renderer = av_renderer())
anim_save(
filename = "animation.mp4")
animation1 #to display a video in the RStudio's viewer
animation #to display a gif in the RStudio's viewer
例子:
加一个:
如果需要,您可以在内部 RStudio 浏览器中打开 gif 或 mp4:
制作一个简单的 Rmarkdown 文件并编织到 html:
---
title: "Untitled"
output:
html_document
---
<img src="animation.gif"/>
<video controls autoplay>
<source src="animation.mp4" type="video/mp4">
</video>
又加了一个。
你应该安装 library(rstudioapi)
看完这个link: https://rstudio.github.io/rstudioapi/reference/viewer.html
制作一个带有 img / video 标签的简单 html 文件,例如animation.html
并通过查看器打开:
<!doctype html>
<html lang=en>
<head>
<meta charset=utf-8>
<title>blah</title>
</head>
<body>
<img src="animation.gif"/>
<video controls autoplay>
<source src="animation.mp4" type="video/mp4">
</video>
</body>
</html>
rstudioapi::viewer("animation.html")
后备 :) library(ricomisc)
使用命令:rstudio_viewer("xxx.html")
祝你好运;)