当前位置: 首页 > 编程笔记 >

python networkx 根据图的权重画图实现

尉迟跃
2023-03-14
本文向大家介绍python networkx 根据图的权重画图实现,包括了python networkx 根据图的权重画图实现的使用技巧和注意事项,需要的朋友参考一下

首先输入边和边的权重,随后画出节点位置,根据权重大小划分实边和虚边

#coding:utf-8
#!/usr/bin/env python
"""
An example using Graph as a weighted network.
"""
__author__ = """Aric Hagberg (hagberg@lanl.gov)"""
try:
  import matplotlib.pyplot as plt
except:
  raise
 
import networkx as nx
 
G=nx.Graph()
#添加带权边
G.add_edge('a','b',weight=0.6)
G.add_edge('a','c',weight=0.2)
G.add_edge('c','d',weight=0.1)
G.add_edge('c','e',weight=0.7)
G.add_edge('c','f',weight=0.9)
G.add_edge('a','d',weight=0.3)
#按权重划分为重权值得边和轻权值的边
elarge=[(u,v) for (u,v,d) in G.edges(data=True) if d['weight'] >0.5]
esmall=[(u,v) for (u,v,d) in G.edges(data=True) if d['weight'] <=0.5]
#节点位置
pos=nx.spring_layout(G) # positions for all nodes
#首先画出节点位置
# nodes
nx.draw_networkx_nodes(G,pos,node_size=700)
#根据权重,实线为权值大的边,虚线为权值小的边
# edges
nx.draw_networkx_edges(G,pos,edgelist=elarge,
          width=6)
nx.draw_networkx_edges(G,pos,edgelist=esmall,
          width=6,alpha=0.5,edge_color='b',style='dashed')
 
# labels标签定义
nx.draw_networkx_labels(G,pos,font_size=20,font_family='sans-serif')
 
plt.axis('off')
plt.savefig("weighted_graph.png") # save as png
plt.show() # display

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 问题内容: 我有一个由大量线组成的图。在每一步中,线条的颜色都应在动画中更新,但是在线条上进行for循环似乎确实很昂贵。有什么更好的方法吗? 这是我的代码: 另外,我无法与动画艺术家合作!我用平局。动画行有什么问题 现在将那些10s增加到100s会使程序非常慢: 正如我说的,我想与动画并排运行。因此,我更喜欢将其制作成动画。我认为这至少可以在动画开始之后解决滞后问题,但是现在按照我定义它的方式,它

  • 请看下面的P5代码 这个小应用程序的目的是在画布上拖放图像,根据“上传”图像的宽度和高度改变其大小。 使用:成功加载图像(至少显示图像)后,我将其宽度和高度分配给变量和。接着是画布大小的变化。。。这会导致一个错误,画布的大小与上传的图像相同(在上选中),但不显示任何内容。 使用:当禁用上的画布大小更改并单击画布时,调整大小会完美地显示图像。 应用程序需要在不点击的情况下工作,在删除图像后应该自动更

  • 本文向大家介绍Android实现简单画图画板,包括了Android实现简单画图画板的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android实现简单画图画板的具体代码,供大家参考,具体内容如下 效果如图: 布局文件: MainActivity.java 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍Android编程根据系列图片绘制动画实例总结,包括了Android编程根据系列图片绘制动画实例总结的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程根据系列图片绘制动画的方法。分享给大家供大家参考,具体如下: 一、采用系统提供的Animation类,用自带的方法 其中的animation.xml文件如下: 其中://设置单次播放 animationDrawa

  • 我是斯坦纳树问题领域的初学者,我需要确定我的问题的名称,如果存在:给定无向、无权重、根图和一些顶点(模板节点)。我想构建树,其中所有的终端节点都是叶子,具有最小数量的斯坦纳顶点。有谁能为我找出这个问题的类(名称)以便阅读更多关于这个的信息。谢谢你们所有人

  • 我想知道什么是实现无向加权图的有效方法。我想在上面执行Prims和Kruskal算法。我知道邻接列表,但这不会浪费内存;为。假设我有两个顶点A和B,由权重为“x”的边连接,所以我需要在邻接列表中添加两个条目: 我是不是漏掉了什么?