更新 python 的 matplotlib 中的绘图

Updating a plot in python's matplotlib

我正在尝试在 matplotlib 中绘制流数据。我可以使用交互模式和 set_ydata 函数更新绘图。它具有动画效果,并且在循环结束之前一切看起来都很好。然后 python 内核崩溃,我收到此消息:

C:\Conda\lib\site-packages\matplotlib\backend_bases.py:2437: MatplotlibDeprecationWarning: Using default event loop until function specific to this GUI is implemented warnings.warn(str, mplDeprecation)

代码如下:

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 10, 0.1)
y = np.sin(x)

plt.ion() #interactive mode on
ax = plt.gca()
line, = ax.plot(x,y)
ax.set_ylim([-5,5])

for i in np.arange(100):
    line.set_ydata(y)
    plt.draw()
    y = y*1.01
    plt.pause(0.1)

谁能告诉我为什么这是崩溃而不是退出循环?我正在使用 Python 3 在 Jupyter 中执行此操作。当然,如果有更好的方法来执行此操作,我很想听听。谢谢!

此代码改编自How to update a plot in matplotlib?

我在 python 3.4 中使用 Jupyter 笔记本中的 mac_osx backend 效果很好。

也许您想在末尾添加 plt.close() 以保持整洁并防止挂断?