【发布时间】:2018-01-25 05:53:23
【问题描述】:
我想使用 Jupyter 笔记本来托管我的演示文稿代码,但我不想将动画嵌入到笔记本中。 (因为嵌入视频很耗时。)我想运行单元格并弹出一个屏幕,就好像我在终端中运行代码一样。
from matplotlib.animation import FuncAnimation
from matplotlib.pyplot import plot, show, subplots, title # annotate
from IPython.display import HTML
anim = FuncAnimation(fig, update, frames=numlin, interval=100, fargs=(
d, g, lr_D, lr_G, hasFake, speed, show_sample),
init_func=init, blit=True, repeat=0)
HTML(anim.to_html5_video())
为什么要使用笔记本? 使用笔记本的主要原因是我有许多不同的实验设置。我想使用不同的单元格来表示不同的配置,如果人们想查看特定配置的结果,我可以立即运行它。
时差。 HTML 函数需要一分钟多的时间来生成我需要的视频。在终端中,动画刚刚开始。我想在会议期间快速制作原型,而听众要求展示不同初始条件下的结果。
笔记本也有意外行为。笔记本中的视频与终端中弹出的视频不同。笔记本中的视频在绘制时没有擦除现有帧,使动画看起来很混乱,无法像对应的那样跟踪轨迹。
Animation from the notebook's output
Animation from the terminal's output
这种绘图行为是我不想使用笔记本显示动画的另一个原因。
笔记本是否需要显示其他图表。我希望如此,但没有必要。如果需要,我可以打开另一个笔记本仅用于绘图。
如果我解释得不好,请告诉我。
【问题讨论】:
-
解决方案肯定取决于您对项目的准确设想。笔记本应该包含什么?它还需要显示其他情节吗?如果是这样,怎么做?另外,为什么在笔记本内部显示动画比在外部显示动画更耗时?你解释得越好,你得到的答案就越好。
-
@ImportanceOfBeingErnest 感谢您的澄清。
标签: python animation matplotlib jupyter-notebook