【问题标题】:Animate / update a matplotlib plot in VS Code notebook在 VS Code 笔记本中动画/更新 matplotlib 图
【发布时间】:2021-02-13 05:31:48
【问题描述】:

使用 Jupyter Notebook,我可以创建动画情节(基于this sample code):

%matplotlib notebook
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation

fig, ax = plt.subplots()

x = np.arange(0, 2*np.pi, 0.01)
line, = ax.plot(x, np.sin(x))

def init():
    line.set_ydata([np.nan] * len(x))
    return line,

def animate(i):
    line.set_ydata(np.sin(x + i / 100))  # update the data.
    return line,

ani = animation.FuncAnimation(
    fig, animate, init_func=init, interval=2, blit=True, save_count=50)

plt.show()

是否可以在 Visual Studio Code 的笔记本编辑器中执行此操作?我认为它涉及到魔术%matplotlib notebook模式,VS Code似乎不支持,但我不知道是否有替代方案。

【问题讨论】:

  • This blog post 讨论了如何将动画渲染为嵌入的 HTML5 绘图,但这不是我的目标:我的绘图将根据实时数据馈送进行更新。

标签: python matplotlib visual-studio-code jupyter-notebook


【解决方案1】:

看起来 vscode 支持 ipywidgets (https://github.com/microsoft/vscode-python/issues/3429)。所以你可以使用ipympl 后端到matplotlib。

要使用它,您可以使用%matplotlib ipympl 魔法。


%matplotlib notebook 做了一些非常特定于 jupyter notebook 的 javascript 注入,因此它在 vscode 甚至 jupyter lab 中都不起作用。

【讨论】:

  • 这似乎有效!后端名称现在可能是 widget,但 ipympl 也可以。
  • widget 和 ipympl 是 ipython 源代码中彼此的别名。我不确定是否明确首选。
  • 您可能还需要安装对它的支持,例如pip install ipympl
猜你喜欢
  • 2021-08-07
  • 1970-01-01
  • 2021-08-27
  • 2022-06-22
  • 1970-01-01
  • 1970-01-01
  • 2015-11-10
  • 2019-04-26
  • 1970-01-01
相关资源
最近更新 更多