Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ginput未实现错误_Python_Matplotlib_Spyder - Fatal编程技术网

Python ginput未实现错误

Python ginput未实现错误,python,matplotlib,spyder,Python,Matplotlib,Spyder,在我的项目中,我需要提取像素坐标中的几个点,以便将这些点转换为世界点。因此,每次我在Spyder(Python2.7)中使用ginput函数时,都会出现以下错误。下面给出了我的代码示例: import matplotlib.pyplot as plt import numpy as np import os os.chdir(r'My path') rgb = io.imread('myphoto.jpg') plt.figure(1) pylab.imshow(rgb) pylab.show(

在我的项目中,我需要提取像素坐标中的几个点,以便将这些点转换为世界点。因此,每次我在Spyder(Python2.7)中使用ginput函数时,都会出现以下错误。下面给出了我的代码示例:

import matplotlib.pyplot as plt
import numpy as np
import os
os.chdir(r'My path')
rgb = io.imread('myphoto.jpg')
plt.figure(1)
pylab.imshow(rgb)
pylab.show()
[X,Y] = plt.ginput(5)
错误如下所示:

文件“C:\Python27\lib\site packages\matplotlib\pyplot.py”,第592行, 轧棉机 返回gcf().ginput(*args,**kwargs)

文件“C:\Python27\lib\site packages\matplotlib\figure.py”,第行 1576年,金普特 显示点击次数=显示点击次数)

文件“C:\Python27\lib\site packages\matplotlib\blocking\u input.py”, 第291行,在呼叫中 阻塞输入。调用(self,n=n,timeout=timeout)

文件“C:\Python27\lib\site packages\matplotlib\blocking\u input.py”, 第114行,在调用中 self.fig.canvas.start\u事件\u循环(超时=超时)

文件“C:\Python27\lib\site packages\matplotlib\backend\u base.py”, 第2364行,在启动\u事件\u循环中 引发未实现的错误

未实现错误


我不熟悉Spyder,但我认为它使用ipython?在ipython笔记本中也会出现同样的错误,这里有一个相关的问题:看起来您使用的是一个非交互式后端(现在,很可能是ipython内联后端)。尝试调用
plt.get_backend()
并查看它返回什么。对于大多数matplotlib功能,您需要一个交互式后端,如
TkAgg
Qt4Agg
WxAgg
GtkAgg
nbagg
OSX
,等等。您可以通过多种方式切换后端,但在导入
pyplot
之前,大多数情况下都需要进行切换。在导入
pyplot
之前,使用
matplotlib.Use(backend_name)
或在IPython
%matplotlib backend_name
中。