相关疑难解决方法(0)

如何在Python中设置matplotlib中的"后端"?

我是matplotlib的新用户,我的平台是Ubuntu 10.04 Python 2.6.5

这是我的代码

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt 
plt.plot([1,2,3])
Run Code Online (Sandbox Code Playgroud)

错误是:

/usr/local/lib/python2.6/dist-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 ('/usr/local/lib/python2.6/dist-packages/matplotlib/mpl-data/matplotlibrc')
or with matplotlib.use()
  (backend, matplotlib.matplotlib_fname()))
Run Code Online (Sandbox Code Playgroud)
  • 我安装了Anti-Grain Geometry库,apt-get install libagg但它不起作用.
  • 我尝试使用后端的其他参数,如'GTK'和'TkAgg'.
  • 我安装了python-gtk2-dev包,但仍然出现错误.
  • 谁能告诉我一个可执行的后端参数及其依赖库?

这是错误:

>>> matplotlib.use('GTK')
>>> import matplotlib.pyplot as plt
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.6/dist-packages/matplotlib/pyplot.py", line 95, in <module>
    new_figure_manager, draw_if_interactive, show = …
Run Code Online (Sandbox Code Playgroud)

python linux graphics matplotlib

74
推荐指数
6
解决办法
14万
查看次数

pylab/networkx; 更新后没有显示节点标签

在我将matplotlib更新到当前版本后,我遇到了networkX中的节点标签问题:如果我使用该nx.draw(G)命令,我会得到一个图表,但不会显示任何标签.但让我们举个例子说:

import networkx as nx
import matplotlib.pylab as plt

T=nx.Graph()
T.add_edge(0,1)
nx.draw(T)
plt.show()
Run Code Online (Sandbox Code Playgroud)

这将返回一个有效的图,但没有节点标签.即使我直接传递标签

import networkx as nx
import matplotlib.pylab as plt

T=nx.Graph()
T.add_edge(0,1)
labs={}
labs[0]='cake'
labs[1]='cookie'
nx.draw(T,labels=labs)
plt.show()
Run Code Online (Sandbox Code Playgroud)

仍然没有标签.我很确定它(特别是上面的)在更新之前昨天正在工作.那么matplotlib 1.3.x是否有变化(不记得我之前运行的那个)?目前的版本是:

matplotlib (1.4.0)   (had to downgrade the pyparsing to 1.5.7 after updating the matplotlib)
networkx (1.9)
python 2.7.6
Mac OS X 10.9.4
Run Code Online (Sandbox Code Playgroud)

Little Extra:如果我运行上面的代码,nx.draw(T, with_labels=True)我得到一个情节(我的设置上的额外窗口),当我关闭它时TypeError: bad argument type for built-in operation弹出一个.如果我跑nx.draw(T, with_labels=False),这不会发生,这是非常令人困惑的,因为我认为with_labels参数采用布尔值(见这里),它(部分)不....

我在这里误解了什么吗?

编辑:@tcaswell希望有所帮助!

---------------------------------------------------------------------------
TypeError                                 Traceback (most …
Run Code Online (Sandbox Code Playgroud)

python matplotlib networkx

7
推荐指数
1
解决办法
1234
查看次数

标签 统计

matplotlib ×2

python ×2

graphics ×1

linux ×1

networkx ×1