Matplotlib动画在PyCharm中不起作用

Pet*_*ake 8 python animation matplotlib

我发现了各种使用matplotlib生成动画的短文件.通常,它们在从命令行运行时工作正常,但在PyCharm中我只得到一个静止帧.

我问同样的问题,因为Matplotlib在IDE(PyCharm)中使用时不会更新绘图.那里有一个答案,这似乎适用于原始的提问者.当我从命令行运行该代码时,它工作正常.从PyCharm开始,它会暂停很长时间(大概是运行动画),然后显示一个静止帧(看起来像是动画的开头或结尾).

我在Mac(OS 10.11.6)上通过PyCharm 2017.3.2(专业版)运行Python 3.6.2(Anaconda).我在PyCharm中创建了一个Python项目,将该代码粘贴到.py文件中,安装了相应的库(matplotlib 2.0.2,numpy 1.13.1),然后运行该程序.

我在命令行和我在命令行上做的事情之间唯一的区别就是python --version给出了:

Python 3.6.0 :: Anaconda custom (x86_64)
Run Code Online (Sandbox Code Playgroud)

还有什么可能是问题?

dou*_*uyu 5

根据答案和票证,您可以Show plots in tool window在 Pycharm 中禁用(File->Settings->Tools->Python Scientific),我将给出此解决方案的示例。

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation

fig, ax = plt.subplots()
xdata, ydata = [], []
ln, = plt.plot([], [], 'ro')

def init():
    ax.set_xlim(0, 2*np.pi)
    ax.set_ylim(-1, 1)
    return ln,

def update(frame):
    xdata.append(frame)
    ydata.append(np.sin(frame))
    ln.set_data(xdata, ydata)
    return ln,

ani = FuncAnimation(fig, update, frames=np.linspace(0, 2*np.pi, 128),
                    init_func=init, blit=True)
plt.show()
Run Code Online (Sandbox Code Playgroud)

图片


Din*_*ari 2

上面的(或在附加的链接中)对我不起作用,但是,我发现这很好用(使用 anaconda 和 ipython 控制台运行 2.7)-

我不会正常执行脚本(使用 run / Shift+f10),而是首先设置:

%matplotlib qt5
Run Code Online (Sandbox Code Playgroud)

然后从 pycharm 控制台执行脚本,使用

runfile('/path/to/script.py')
Run Code Online (Sandbox Code Playgroud)

产生类似的结果,就好像我从独立的 ipython 控制台执行相同的操作一样: 悬停图

(注 - 该图是动画的)