Skip to main content
 首页 » 编程设计

python之交互式绘图模式 pl.ion() 不工作

2025年05月04日6tuyile006

我的 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 位上的发行版。

更新:

我用两种不同的方式重现了上面的行为:

  1. 从 shell(例如 bash),> python program.py
  2. 以> 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()