这个文件应该可以工作,但是它不能:
from matplotlib import pyplot
pyplot.ion()
pyplot.plot(range(10))
raw_input('Press return to close')显示“绘图”窗口,内部为白色,并显示沙漏光标。文本将打印在shell中,按下“返回”将关闭空的“绘图”窗口。
我可以从ipython中绘制,但这必须从一个文件中运行。与Using ion() from pylab causes matplotlib to hang完全相同的问题,但解决方案对我没有帮助。
默认情况下,我使用的是Qt4Agg。我没有改变任何设置,这是一个新的Anaconda安装。
我不认为这是Anaconda的具体问题,不久前我在一个普通的Python安装中遇到了完全相同的问题,但我不记得解决方案了。
我最近将Matplotlib升级为1.3.1 np18py27_1
Current conda install:
platform : win-32
conda version : 3.0.6
python version : 2.7.6.final.0
root environment : C:\Anaconda (writable)
default environment : C:\Anaconda
envs directories : C:\Anaconda\envs
package cache : C:\Anaconda\pkgs
channel URLs : http://repo.continuum.io/pkgs/free/win-32/
http://repo.continuum.io/pkgs/pro/win-32/
config file : None
is foreign system : False发布于 2014-06-10 00:41:43
答案简单得令人尴尬,
ipython qtconsole --matplotlib“诀窍”是添加这个选项--matplotlib。在Anaconda启动程序中运行IPython-qt控制台会忽略这一点,我不知道为什么。如果不支持交互式绘图,至少应该对pyplot.ion()发出警告。
发布于 2014-04-18 19:21:26
如果它解决了调用不同后端的问题,则可以通过更改matplotlibrc文件使其成为永久更改。
不幸的是,我不知道这个文件在windows中的位置。
当您找到它时,第32行设置使用的后端:
#### CONFIGURATION BEGINS HERE
# the default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo
# CocoaAgg FltkAgg MacOSX QtAgg Qt4Agg TkAgg WX WXAgg Agg Cairo GDK PS
# PDF SVG Template
# You can also deploy your own backend outside of matplotlib by
# referring to the module name (which must be in the PYTHONPATH) as
# 'module://my_backend'
backend : <Whatever works for you>这将允许您在ipython之外的文件中运行它。
发布于 2014-04-18 18:12:36
我猜你想要这样的东西。它在linux下工作得很好。由于包含了1.e-6秒的暂停,所以它也应该在windows上工作。
import sys
import select
from matplotlib import pyplot
def heardEnter():
i,o,e = select.select([sys.stdin],[],[],0.0001)
for s in i:
if s == sys.stdin:
input = sys.stdin.readline()
return True
return False
pyplot.ion()
pyplot.pause(1.e-6)
print "Press enter to exit plotting"
cont = 1
while cont:
pyplot.plot(range(10 + cont))
pyplot.draw()
cont += 1
if heardEnter():
cont = Falsehttps://stackoverflow.com/questions/23140830
复制相似问题