我的 matplotlibrc 中有以下内容:
backend : QT4Agg
backend.qt4 : PySide
如果我尝试以下操作:
import pylab as pl
pl.ion()
pl.plot(xrange(10))
pl.show()
pl.draw()
没有任何反应。没有窗口打开。
但是如果我这样做:
import pylab as pl
pl.ioff()
pl.plot(xrange(10))
pl.show()
我可以正确地看到窗口和绘图。
我可以解决这个问题吗?我正在使用 Anaconda Linux 64 位上的发行版。
更新:
我用两种不同的方式重现了上面的行为:
- 从 shell(例如 bash),
> python program.py - 以
> ipython启动ipython,然后运行program.py
请您参考如下方法:
就我而言,我曾经能够使用 plt.ion() 进行交互式绘图并且没有任何问题,直到最近它才停止工作。我的情况与您的类似:我可以在不使用 plt.ion() 时绘制静止图像。
我没有收到任何错误信息,但剧情就是不显示。该程序在其他方面都运行良好。
我正在运行 Ubuntu 12.04 并且最近安装了 QT4,我怀疑这与它有关。
我四处搜索,了解后端并找到以下解决问题的方法
import matplotlib
matplotlib.rcParams['backend'] = "WXAgg"
import matplotlib.pyplot as plt
我之前有 QT4Agg,如下所示 打印 matplotlib.get_backend()
