[英]%matplotlib qt does not work
Python 2.7.12 |Anaconda 4.2.0 (64-bit)| Spyder 3.0.1| IPython 5.1.0
Python 2.7.12 |Anaconda 4.2.0 (64-bit)| Spyder 3.0.1| IPython 5.1.0
(在Windows上運行)
通過以下方式在新窗口中詢問地塊時:
%matplotlib qt
我收到一個錯誤:
Traceback (most recent call last):
File "<ipython-input-2-6ad73d0e50c7>", line 1, in <module>
get_ipython().magic(u'matplotlib qt')
File "C:\Anaconda2\lib\site-packages\IPython\core\interactiveshell.py", line 2158, in magic
return self.run_line_magic(magic_name, magic_arg_s)
File "C:\Anaconda2\lib\site-packages\IPython\core\interactiveshell.py", line 2079, in run_line_magic
result = fn(*args,**kwargs)
File "<decorator-gen-105>", line 2, in matplotlib
File "C:\Anaconda2\lib\site-packages\IPython\core\magic.py", line 188, in <lambda>
call = lambda f, *a, **k: f(*a, **k)
File "C:\Anaconda2\lib\site-packages\IPython\core\magics\pylab.py", line 100, in matplotlib
gui, backend = self.shell.enable_matplotlib(args.gui)
File "C:\Anaconda2\lib\site-packages\IPython\core\interactiveshell.py", line 2947, in enable_matplotlib
pt.activate_matplotlib(backend)
File "C:\Anaconda2\lib\site-packages\IPython\core\pylabtools.py", line 295, in activate_matplotlib
matplotlib.pyplot.switch_backend(backend)
File "C:\Anaconda2\lib\site-packages\matplotlib\pyplot.py", line 232, in switch_backend
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "C:\Anaconda2\lib\site-packages\matplotlib\backends\__init__.py", line 32, in pylab_setup
globals(),locals(),[backend_name],0)
File "C:\Anaconda2\lib\site-packages\matplotlib\backends\backend_qt4agg.py", line 18, in <module>
from .backend_qt5agg import FigureCanvasQTAggBase as _FigureCanvasQTAggBase
File "C:\Anaconda2\lib\site-packages\matplotlib\backends\backend_qt5agg.py", line 16, in <module>
from .backend_qt5 import QtCore
File "C:\Anaconda2\lib\site-packages\matplotlib\backends\backend_qt5.py", line 31, in <module>
from .qt_compat import QtCore, QtGui, QtWidgets, _getSaveFileName, __version__
File "C:\Anaconda2\lib\site-packages\matplotlib\backends\qt_compat.py", line 137, in <module>
from PyQt4 import QtCore, QtGui
ImportError: No module named PyQt4
我認為你的問題是由於QT_API
環境變量仍設置為pyqt4
(或pyside
)引起的。 例如,通過輸入import os; print(os.environ.get('QT_API'))
來檢查這一點import os; print(os.environ.get('QT_API'))
在Python提示符下import os; print(os.environ.get('QT_API'))
。
如果是這種情況,您需要將其刪除或將其設置為pyqt5
。 Google如何在Windows下設置環境變量,如果你不知道如何。
我使用了import os; print(os.environ.get('QT_API')),然后我獲得了pyqt5。 那么,我去了工具 - >首選項 - > Ipython控制台 - >圖形,我選擇后端Qt5,重啟spyder后,瞧,問題解決了。 謝謝!!!!
通過將matplotlib從matplotlib-1.5.3版本升級到matplotlib-2.2.2,我已經解決了這個問題
pip install matplotlib --upgrade
如果你想在Spyder的新窗口中繪制你的圖,你不需要%matplotlib qt
。
相反,轉到Spyder中的Tools
and Preferences
,然后在Preferences
點擊IPython consol
。 在IPython consol
單擊選項卡Graphics
,然后在Graphics Backend
下拉列表中將Inline
更改為QT
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.