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

2024-02-14

将 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参数采用布尔值 (see here https://networkx.github.io/documentation/latest/_modules/networkx/drawing/nx_pylab.html#draw),它(部分)不......?

我在这里误解了什么吗?

编辑:@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 https://github.com/matplotlib/matplotlib/issues/3470).

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

UPDATE

部分问题已被识别并合并https://github.com/matplotlib/matplotlib/pull/3564 https://github.com/matplotlib/matplotlib/pull/3564。此修复应该在 mpl v1.4.1 及更高版本中进行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pylab/networkx;更新后不显示节点标签 的相关文章

随机推荐

  • Git 因 100% cpu 使用而挂起(这是磁盘问题)

    有一些操作挂在我的存储库之一上 git gc 在 计数对象 7409 处以 100 使用率挂起 当我启动 gitk 时 它会启动此命令 该命令也会因 100 CPU 使用率而挂起 git log no color z pretty raw
  • EPPlus“System.OutOfMemoryException”

    我正在尝试使用打开 38MB Excel 文件EPPlus v4 0 我可以将它传递给Excel包变量 但是当我尝试从该变量获取工作簿时 它会导致我出现 系统内存不足异常 这是我的代码 Dim temppath Path GetTempPa
  • 如何使工具栏后退按钮居中?

    我在尝试将后退按钮置于支持工具栏中央时遇到问题 我在 ActionBarActivity 中使用它
  • 在 CentOS 中使用 /etc/resolv.conf 解析 AD 域

    我已使用 Realm 配置 SSSD 以使用 AD 凭据登录 centOS VM 请参考设置here https stackoverflow com questions 63705156 sssd integration with micr
  • 如何用Java编写UTF-8文件?

    我有一些当前代码 问题是它创建了一个 1252 代码页文件 我想强制它创建一个 UTF 8 文件 任何人都可以帮助我使用这段代码 正如我所说 它目前有效 但我需要强制保存在 utf 上 我可以传递参数或其他东西吗 这就是我所拥有的 非常感谢
  • 在 Windows 中使用 Python 获取日期格式

    在给我的作业示例代码中 出现了这一行 date format locale nl langinfo locale D FMT 但在 Windows 中 该行返回以下错误 File C Users Shadark Dropbox IHM P3
  • 解释 OpenGL ES 背景图像的工作原理

    有人可以解释一下如何在 OpenGL ES 视图上渲染背景图像吗 从设置 OpenGL 环境的基础知识开始 我是 OpenGL 的新手 I m seeing https stackoverflow com questions 3387132
  • 如何使用 Firefox 插件从硬盘读取/写入文件?

    是否可以开发一个可以从硬盘读取 写入文件的 Firefox 插件 我应该使用什么代码 它只是链接 Hypnos 和 ephemient 中提供的代码的复制 和组合 const Cc Ci require chrome create prop
  • 模拟标准输入 - python 3中的多行

    我是 python 新手 一直在使用 python 3 进行学习 我正在使用 python 的单元测试框架来测试我的代码 问题 我需要进行单元测试的函数以以下方式接受输入 def compare a b c input strip spli
  • PHP 中比较的可变位置

    下面两种情况哪个更优化 if var value and if value var 抱歉 如果这与另一个问题重复 但我无法用谷歌搜索出答案 Thanks UPDATE 这称为尤达条件 更多信息here http wiert me 2010
  • 为什么 DRF 可浏览 API 对每个实际请求的多个请求类型运行权限检查?

    我有一个简单的 DRF 列表视图 想要编写一些与以下内容相关的权限POST要求 这导致了错误GET发出了请求 这让我意识到我的权限类在未提交的请求上被多次调用 这是我的文件 权限 py class IsDummy permissions B
  • django 形成 MultipleChoiceField 在保存时恢复为原始值

    我编写了一个自定义 MultipleChoiceField 我一切正常 但是当我提交表单时 即使表单验证正常 所选值也会返回原始选择 我的代码看起来像这样 class ProgrammeField forms MultipleChoiceF
  • 连接池到底是什么?

    我听说过连接池这个术语 并通过谷歌搜索寻找一些参考资料 但不知道何时使用它 我什么时候应该考虑使用 连接池 有什么优点和 连接池的缺点 任何建议 这个想法是 您不会打开和关闭与数据库的单个连接 而是创建一个打开连接的 池 然后重用它们 一旦
  • Cocoa App webview未加载请求

    我已经使用 webview 加载 url 但它没有加载 我已经尝试使用 wkwebview 进行相同的操作 但无法加载网址 我已经做了以下 导入WebKit Info plist 允许任意负载 是 允许任意加载网页内容 是 LOG dnss
  • 使用智能指针实现容器

    好的 所以每个人都知道应该像瘟疫一样避免原始指针并更喜欢智能指针 但是这个建议在实现容器时适用吗 这就是我想要实现的目标 template
  • 在 Msys 上安装 Pip

    我使用 Python 3 5 2 和 Msys 构建了一个简单的 PyGTK 应用程序 但我需要一些默认安装中没有的模块 尽管我可以使用setup py install为了得到它们我宁愿使用pip 我环顾四周发现this https sou
  • 使用 lambda 表达式的嵌套集合创建对象图

    我对利用 lambda 表达式创建属性选择器树感兴趣 使用场景是 我们有一些代码对对象图进行一些递归反射 为了限制递归的范围 我们目前使用 Attributes 来标记应该遍历哪些属性 即获取对象的所有修饰属性 如果该属性是具有修饰属性的引
  • Java接口实现对象?

    是否有 Java 接口隐式实现 java lang Object 当我做这样的事情时出现了这个问题 public static String sizeSort String sa Comparator
  • 在 bash_profile 中设置路径

    为什么设置一个PATH要求 PATH 在最后 PATH Library Frameworks Python framework Versions 2 7 bin PATH 当我附加一条路径时我会这样做 PATH PATH 我如何附加一个PA
  • pylab/networkx;更新后不显示节点标签

    将 matplotlib 更新到当前版本后 我遇到了 networkX 中节点标签的问题 如果我使用nx draw G 命令 我得到一个图表 但没有显示标签 但我们还是举个例子吧 import networkx as nx import m