Python NetworkX - 为什么图表总是随机旋转?

2023-12-05

如果我使用 NetworkX 和 Matplotlib 多次生成相同的图表,它会在每一代中随机旋转:

Run 1: Run 1

Run 2: enter image description here

在不更改脚本或输入数据的情况下,每次生成图形时都会随机旋转。是否可以指定方向?

随着图形变得更加密集(上面只是示例,但最终我将拥有数千个节点和边),如果由于图形图片旋转而移动新添加的节点或边,将很难看到新添加的节点或边。

import networkx as nx
import matplotlib.pyplot as plt
from networkx.readwrite import json_graph
#
# The graph data is loaded from JSON
#
graph = json_graph.node_link_graph(input_json)
    pos = nx.spring_layout(graph)
    nx.draw(graph, pos, with_labels=True, node_size=300)
    edge_labels=dict([((u,v,),d['weight']) for u,v,d in graph.edges(data=True)])
    nx.draw_networkx_edge_labels(graph, pos, edge_labels=edge_labels)
    plt.savefig("test.png")

A second less important question is why are the edges/lines from R1 to R2 and R1 to R5 so much longer? Update: I hadn't set the "length" attribute in the JSON data source.


我刚刚发现你可以修复随机生成图的初始状态: 只需为生成器提供种子,这样它将始终产生相同的随机位置集。

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

Python NetworkX - 为什么图表总是随机旋转? 的相关文章

随机推荐

  • Rails /lib 模块和

    我正在编写一个自定义包装器open flash chart插入 它被放置在 lib并将其作为模块加载ApplicationController 但是 我有类层次结构的问题或其他问题 从我可以访问的任何控制器open flash chart功
  • 如何使用 VBA 验证 SAP GUI 中的活动窗口

    我目前正在尝试使用 VBA 修复 SAP 过程中的一些问题 现在我有一段代码可以正确处理有时出现的错误弹出窗口 If session findById wnd 2 usr txtMESSTXT1 Text Material j atuali
  • 有什么充分的理由使用 FormCollection 而不是 ViewModel 吗?

    我继承了用 ASP Net MVC 4 编写的代码库 每个 post 方法都需要一个FormCollection 除了必须通过带引号的字符串访问值的烦恼之外 它还会导致一些缺点 例如无法使用诸如ModelState IsValid or A
  • 如何在c中确定linux中的目录或文件

    我只想打印文件名而不打印目录名称 所以我实现了这个功能 void list file char directory DIR d struct dirent dir d opendir directory if d while dir rea
  • clientHeight/clientWidth 在不同浏览器上返回不同的值

    特性document body clientHeight and document body clientWidth在 IE7 IE8 和 Firefox 上返回不同的值 IE 8 document body clientHeight 70
  • Elasticsearch 结合多个存储桶和聚合

    假设我们正在查看相当简单的数据 索引中的每个文档都具有以下结构 Time 2018 01 01T19 35 00 0000000Z Country Germany Addr security web com FailureCount 5 S
  • 在 R 中生成一个具有 m 列和 n 行的随机矩阵,其中行总和为 1

    我想生成一个 nxm 矩阵 假设它是 100x3 我希望每一行的总和为 1 因此两个 0 和一个 1 sample c 0 0 1 3 会给我 1 行 但是有没有一种非常快速的方法可以在没有 rbind 的情况下生成整个矩阵 谢谢你 没有循
  • 如果值不存在,则将数组对象推入另一个数组对象

    如果值不存在 需要将数组对象 arr1 的值推送到另一个数组对象 arr2 中 现有值不会推入另一个数组 var arr1 name fred name bill name ted name james var arr2 name spil
  • Android,当我在设备上安装应用程序时图标重复

    我尝试在我的设备上安装我开发的应用程序 Htcdesire 我发现该应用程序的图标是重复的 我需要改变什么才不会迟到发生这种情况 我怎样才能删除其中一个图标 感谢您的帮助 我今天遇到这个问题 我正在使用 Gradle 我发现有一个文件夹 b
  • Android,在 onClickListener 中使用 Toast

    我试图让 toast 在 onClickListener 内给定某些条件时显示一些文本 该应用程序无法在模拟器中运行 并且出现以下错误 void 无法转换为 Toast 我四处搜索 在这个论坛上找到了几个类似的问题和解决方案 但没有一个完全
  • Python 的 Requests 库中的 Session 对象线程安全吗?

    Python 的流行Requests该库在其主页上据说是线程安全的 但没有给出更多细节 如果我打电话requests session 然后我可以安全地将这个对象传递给多个线程 如下所示 session requests session fo
  • Java中模块的动态加载

    在 Java 中 我可以动态地将内容添加到类路径并加载类 动态 意味着无需重新启动我的应用程序 是否有一个已知的框架 库可以处理模块的动态加载 卸载而无需重新启动 通常的设置 尤其是 Web 应用程序 是负载均衡器 多个应用程序实例以及逐步
  • 填充控制台中的最后一行

    我想填充 更新控制台的整个底线 例子 static void Main string args Console BufferWidth Console WindowWidth Console BufferHeight Console Win
  • 恒定 FPS Android OpenGLES

    你好安卓开发者 我正在 Eclipse 中使用 OpenGLES 1 0 为 Android 开发一个简单的游戏 我使用 Samsung Galaxy S2 Android 2 3 作为开发设备 我有一个关于双核和使帧速率恒定的问题 因此
  • 在javascript中重置文本区域高度

    我有一个文本区域 自动调整大小 我想清除其所有内容 包括其高度 到目前为止我已经尝试过 document getElementById textarea value And document getElementById textarea
  • 如何在pandas中将一列分成三列

    我有一个数据框 如下所示 ID Name Address 1 Kohli Country India State Delhi Sector SE25 2 Sachin Country India State Mumbai Sector SE
  • 可以在触发器内动态创建 JOB 吗?

    该触发器的执行失败 它编译但一旦我执行指定的插入 gt 错误 create or replace TRIGGER AFT INSERT TMP TBL AFTER INSERT ON TMP TBL REFERENCING OLD AS O
  • 我可以让 postgres plpgsql 函数返回可变列记录吗?

    我想创建一个 postgres 函数来构建它的列集 即时返回 简而言之 它应该接受一个键列表 构建 每个键一列 并返回由该集组成的记录 列数是 简而言之 代码如下 CREATE OR REPLACE FUNCTION reports get
  • 在 Xcode 4.2、iOS 5.0 Beta 中创建 IPA 文件

    如何在 Xcode 4 2 iOS 5 0 测试版 中创建 ipa 文件 我已经开发了一个应用程序 但找不到权利文件 谁能告诉我创建 ipa 文件的过程 提前致谢 如果您拥有苹果开发者证书和相应的临时配置文件 则意味着可以使用 iOS 5
  • Python NetworkX - 为什么图表总是随机旋转?

    如果我使用 NetworkX 和 Matplotlib 多次生成相同的图表 它会在每一代中随机旋转 Run 1 Run 2 在不更改脚本或输入数据的情况下 每次生成图形时都会随机旋转 是否可以指定方向 随着图形变得更加密集 上面只是示例 但