2

我有以下内容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()

我可以正确地看到窗口和绘图。

我可以解决这个问题吗?我在 Linux 64 位上使用Anaconda的发行版。

更新:

我以两种不同的方式重现了上述行为:

  1. 从外壳(例如 bash),> python program.py
  2. 从 开始ipython> ipython然后run program.py
4

1 回答 1

1

就我而言,我曾经能够plt.ion()毫无困难地进行交互式绘图,直到最近它刚刚停止工作。我的情况与您的情况相似:我可以在不使用 plt.ion() 时绘制静止图像。

我没有收到任何错误消息,但情节只是没有显示。该程序以其他方式运行良好。

我正在运行 Ubuntu 12.04 并且最近安装了 QT4,我怀疑这与它有关。

我四处搜索,了解了后端,发现以下内容为我解决了问题

import matplotlib
matplotlib.rcParams['backend'] = "WXAgg"
import matplotlib.pyplot as plt

我以前有 QT4Agg,如图所示 print matplotlib.get_backend()

于 2015-08-17T16:20:45.123 回答