首页 > 解决方案 > 在 VS Code 笔记本中动画/更新 matplotlib 图

问题描述

使用 Jupyter Notebook,我可以创建一个动画图(基于此示例代码):

%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 notebookVS Code 似乎不支持的魔术模式,但我不知道是否有替代方案。

标签: pythonmatplotlibvisual-studio-codejupyter-notebook

解决方案


看起来 vscode 支持 ipywidgets ( https://github.com/microsoft/vscode-python/issues/3429 )。因此,您可以将ipympl后端用于 matplotlib。

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


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


推荐阅读