作者hardliner (liner)
看板Python
标题Re: [问题] 请问 matplotlib 要如何 show()
时间Mon Feb 16 11:06:26 2009
※ 引述《hardliner (liner)》之铭言:
$HOME=/root
CONFIGDIR=/root/.matplotlib
matplotlib data path
/usr/local/lib/python2.6/site-packages/matplotlib/mpl-data
loaded rc file /root/.matplotlib/matplotlibrc
matplotlib version 0.98.5.2
verbose.level helpful
interactive is False
units is False
platform is linux2
Using fontManager instance from /root/.matplotlib/fontList.cache
backend Agg version v2.2
以上的讯息是我照 manual 上所指示所得到的讯息,下面是我测试的内容。
from pylab import *
plot([1,2,3])
show()
>>> from pylab import *
>>> plot([1,2,3])
[<matplotlib.lines.Line2D object at 0x8bceeac>]
>>> show()
/usr/local/lib/python2.6/site-packages/matplotlib/backends/__init__.py:41:
UserWarning:
Your currently selected backend, 'Agg' does not support show().
Please select a GUI backend in your matplotlibrc file
('/root/.matplotlib/matplotlibrc')
or with matplotlib.use()
(backend, matplotlib.matplotlib_fname()))
由於问题出在 backend,看起来是指 Agg 不支援 show(),而搜寻相关网页,
只找到一篇是使用 WXAgg(
http://0rz.tw/WcgOw),於是我安装了 wxPython,
vi ~/.matplotlib/matplotlibrc,更改其内容为下
backend : WXAgg
可是更改之後,却连 import 都不行了。
>>> from pylab import *
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.6/site-packages/pylab.py", line 1, in <module>
from matplotlib.pylab import *
File "/usr/local/lib/python2.6/site-packages/matplotlib/pylab.py", line
253, in <module>
from matplotlib.pyplot import *
File "/usr/local/lib/python2.6/site-packages/matplotlib/pyplot.py", line
75, in <module>
new_figure_manager, draw_if_interactive, show = pylab_setup()
File
"/usr/local/lib/python2.6/site-packages/matplotlib/backends/__init__.py",
line 25, in pylab_setup
globals(),locals(),[backend_name])
File
"/usr/local/lib/python2.6/site-packages/matplotlib/backends/backend_wxagg.py",
line 19, in <module>
import wx
ImportError: No module named wx
请问问题是出在哪里呢?谢谢。
1F:→ yungyuc:matplotlib.use('TkAgg') 02/16 10:31
谢谢您的回覆,不过我测试了之後出现以下讯息,
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.6/site-packages/matplotlib/pyplot.py", line
75, i
new_figure_manager, draw_if_interactive, show = pylab_setup()
File
"/usr/local/lib/python2.6/site-packages/matplotlib/backends/__init__.py",
globals(),locals(),[backend_name])
File
"/usr/local/lib/python2.6/site-packages/matplotlib/backends/backend_tkagg
import Tkinter as Tk, FileDialog
File "/usr/local/lib/python2.6/lib-tk/Tkinter.py", line 39, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter
这样是指我需要另外安装 TkInter 吗?还是我的 backend 有哪里出问题了?
谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.25.118.144
2F:→ yungyuc:check: # If this fails your Python ... 02/16 11:48