gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 21:52:45 24 4
gpt4 key购买 nike

在我将 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()

这将返回一个有效的图,但没有节点标签。即使我像在

中一样直接传递标签
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()

仍然没有标签。我很确定它(尤其是上面的那个)在昨天更新之前工作。那么 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

额外的一点:如果我用 nx.draw(T, with_labels=True) 运行上面的代码,我会得到一个图(我的设置上的额外窗口),当我关闭它时 TypeError: bad argument type for built-in operation 弹出。如果我运行 nx.draw(T, with_labels=False) 就不会发生这种情况,这非常令人困惑,因为我认为 with_labels 参数采用 bool 值(see here) ,它(部分)不……?

我是不是误会了什么?

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

---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/usr/local/lib/python2.7/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
57 def draw_wrapper(artist, renderer, *args, **kwargs):
58 before(artist, renderer)
---> 59 draw(artist, renderer, *args, **kwargs)
60 after(artist, renderer)
61

/usr/local/lib/python2.7/site-packages/matplotlib/figure.pyc in draw(self, renderer)
1077 dsu.sort(key=itemgetter(0))
1078 for zorder, a, func, args in dsu:
-> 1079 func(*args)
1080
1081 renderer.close_group('figure')

/usr/local/lib/python2.7/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
57 def draw_wrapper(artist, renderer, *args, **kwargs):
58 before(artist, renderer)
---> 59 draw(artist, renderer, *args, **kwargs)
60 after(artist, renderer)
61

/usr/local/lib/python2.7/site-packages/matplotlib/axes/_base.pyc in draw(self, renderer, inframe)
2090
2091 for zorder, a in dsu:
-> 2092 a.draw(renderer)
2093
2094 renderer.close_group('axes')

/usr/local/lib/python2.7/site-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
57 def draw_wrapper(artist, renderer, *args, **kwargs):
58 before(artist, renderer)
---> 59 draw(artist, renderer, *args, **kwargs)
60 after(artist, renderer)
61

/usr/local/lib/python2.7/site-packages/matplotlib/text.pyc in draw(self, renderer)
536 renderer.open_group('text', self.get_gid())
537
--> 538 bbox, info, descent = self._get_layout(renderer)
539 trans = self.get_transform()
540

/usr/local/lib/python2.7/site-packages/matplotlib/text.pyc in _get_layout(self, renderer)
309 tmp, lp_h, lp_bl = renderer.get_text_width_height_descent('lp',
310 self._fontproperties,
--> 311 ismath=False)
312 offsety = (lp_h - lp_bl) * self._linespacing
313

/usr/local/lib/python2.7/site-packages/matplotlib/backends/backend_macosx.pyc in get_text_width_height_descent(self, s, prop, ismath)
164 size = self.points_to_pixels(points)
165 width, height, descent = self.gc.get_text_width_height_descent(
--> 166 six.text_type(s), family, size, weight, style)
167 return width, height, 0.0*descent
168

TypeError: bad argument type for built-in operation

(我不是数学家也不是程序员,但愿意学习,请耐心等待!)

最佳答案

这是在 OSX 后端 ( #3470 ) 中遇到一个已知(但未解决)的错误。

切换到基于 Agg 的后端之一应该可以通过避免问题来“解决”问题。

更新

部分问题已确定并合并https://github.com/matplotlib/matplotlib/pull/3564 .此修复应该在 mpl v1.4.1 和更高版本中。

关于python - pylab/networkx;更新后没有显示节点标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25865975/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com