【问题标题】:Networkx and Matplotlib issue : self-loops are not printedNetworkx 和 Matplotlib 问题:不打印自循环
【发布时间】:2021-07-19 21:47:54
【问题描述】:

我已经尝试使用 matplotlib 在节点上绘制具有多个自环的 networkx 多向图已经有好几天了,但没有任何效果。 经过多次测试,我使用 Matplotlib 将问题缩小到 Networkx。 我执行了以下教程https://networkx.org/documentation/latest/auto_examples/drawing/plot_selfloops.html 在我的笔记本电脑上并使用在线 python 编译器,但没有打印自循环。我认为某处可能存在错误,因为它应该按照官方文档工作。

请不要建议使用Graphviz...我已经这样做了,它不符合我想要的。

当前行为 从教程中,这是我获得的图像: 预期行为 我应该获得的图像:

我的环境: Python版本:3 NetworkX 版本:2.5(我升级了)

谢谢!

【问题讨论】:

    标签: python matplotlib graph visualization networkx


    【解决方案1】:

    您链接的示例在评论中提到了 2.6

    从 2.6 版开始,默认情况下,自环以与其他边相同的样式绘制

    我检查了开发版本会发生什么,我得到了正确的情节,所以这看起来可能是一个新功能。如果您现在需要它,那么您可能必须从 GitHub 安装开发版本。示例图如下。

    2.5.1

    2.6rc1.dev0

    【讨论】:

      【解决方案2】:

      问题链接到的networkx的文档页面是networkx最新版本,即尚未发布的开发版本。

      模块中提到了自循环:https://github.com/networkx/networkx/blob/d70b314b37168f0ea7c5b0d7f9ff61d73232747b/networkx/drawing/nx_pylab.py#L697-L704 在分支上main

      分支v2.5 的同一模块中未提及自循环: https://github.com/networkx/networkx/blob/36383ccc94a2e2d50893e13bb2a3ec96e5f6518f/networkx/drawing/nx_pylab.py

      因此,使用matplotlib 绘制自循环似乎已添加到networkx >= 2.6 中以供发布。最新的稳定版本networkx == 2.5.1 给出的结果与问题显示的结果相同(即不存在自循环)。

      确实,从问题链接的networkx 文档页面是一个示例,其文件是在networkx == 2.5 发布之后添加的(并且在networkx == 2.5.1 发布之前,尽管后者似乎来自另一个分支而不是@ 987654340@): https://github.com/networkx/networkx/commit/6108e42fa70fec2d1af0f177bf5518d6b60981d6#diff-27445a1ef749e821a838e843aee62f8fbde8c0cfdfde0717c73eb3355f8d7a77 相关的拉取请求是: https://github.com/networkx/networkx/pull/4430

      稳定版文档中不存在此示例:https://networkx.org/documentation/stable/auto_examples/index.html#drawing


      要使用networkx 绘制自循环,请安装开发版本。一种方法是使用git 克隆存储库https://github.com/networkx/networkx,然后按照以下安装说明进行操作: https://github.com/networkx/networkx/blob/main/INSTALL.rst#install-the-development-version

      除了克隆之外,还可以下载,使用networkx GitHub 存储库主页上的“代码”按钮(靠近“关于”描述),或直接从如下 URL 下载:@987654329 @(来自浏览器,或使用其他程序,例如 cURL)。

      【讨论】:

        猜你喜欢
        • 2018-08-26
        • 1970-01-01
        • 1970-01-01
        • 2012-12-12
        • 2016-08-08
        • 1970-01-01
        • 1970-01-01
        • 2020-09-17
        • 2020-03-15
        相关资源
        最近更新 更多