python - 设置 NetworkX 边长
问题描述
有没有办法在networkx图中设置边长?例如,我有以下代码设置第一条边长度 = 10,第二条边长度 = 1,但它们在实际图中具有相同的长度:
>>> import matplotlib.pyplot as plt
>>> import networkx as nx
>>> G = nx.DiGraph()
>>> G.add_edge('A', 'B', length = 1)
>>> G.add_edge('B', 'C', length=10)
>>> nx.draw(G, pos=nx.drawing.nx_agraph.graphviz_layout(G, prog='dot'))
>>> plt.show()
有没有办法使其中一个边缘的长度成为另一个边缘的 1/10?我希望它看起来像下面这样:
解决方案
您可以使用minlen
.
>>> G = nx.DiGraph()
>>> G.add_edge('A', 'B', minlen = 1)
>>> G.add_edge('B', 'C', minlen = 10)
>>> nx.draw(G, pos=nx.drawing.nx_agraph.graphviz_layout(G, prog='dot'))
>>> plt.show()
推荐阅读
- reactjs - 使用 React-Navigation v4 延迟加载特定选项卡
- sql - 在excel中使用vba加载sql查询时数据类型错误
- javascript - 如何在使用回调完成另一个函数后调用一个函数?
- c# - LINQ中的双数之和
- wordpress - 安装失败:您的网站出现严重错误
- asp.net-core - 无法在 IIS 上托管 .Net Core 3.1 Web API
- python - 将 django 从 1.8 升级到 2.2.0
- visual-studio-code - 无法编辑过去的第 1 组
- firebase - Firebase 消息传递的安全性
- vuejs2 - Vuejs SPA 从第三方 api 更改元标记内容