news 2026/5/6 8:21:41

用Python绘制动态边宽的网络图

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用Python绘制动态边宽的网络图

在数据可视化中,网络图(Network Graph)是一种强大的工具,可以直观地展示节点之间的关系。在Python中,NetworkXMatplotlib库结合使用可以非常方便地创建和绘制这些图形。今天,我们将探讨如何利用这些工具绘制一个边宽可动态调整的网络图。

环境设置

首先,确保你已经安装了必要的库:

pipinstallnetworkx matplotlib
创建图形

以下是创建一个简单网络图的基本步骤:

importmatplotlib.pyplotaspltimportnetworkxasnx# 创建图形对象g=nx.Graph()# 添加节点g.add_nodes_from(range(1,22))# 添加边,并设置不同的边宽g.add_edges_from([(1,2),(4,5)],width=1)g.add_edges_from([(1,3),(2,3),(3,4),(5,6),(5,7),(5,9),(6,7),(6,9),(7,8),(6,10),(6,11),(9,10),(9,14),(9,15),(10,11),(10,13),(11,12),(12,13),(13,14),(13,18),(14,16),(15,14),(16,17),(17,18),(17,20),(17,19),(18,20),(19,20),(19,21),(20,21)],width=10)
绘制图形

接下来,我们需要设置节点的位置并绘制图形:

# 节点位置pos={1:(13,78),2:(24,87),3:(23,77),4:(25,68),5:(27,59),6:(27,46),7:(17,49),8:(5,36),9:(42,58),10:(40,36),11:(35,31),12:(40,12),13:(61,30),14:(70,43),15:(72,55),16:(82,40),17:(83,20),18:(77,15),19:(93,14),20:(88,9),21:(97,4)}# 获取边的宽度属性widths=list(nx.get_edge_attributes(g,'width').values())# 绘制图形nx.draw(g,pos,with_labels=True,node_color="orange",node_size=300,edge_color="black",width=widths)# 设置图形标题和坐标轴标签plt.title('动态边宽的网络图示例')plt.xlabel('X')plt.ylabel('Y')# 显示图形plt.show()
注意事项
  • 错误避免:在代码中要避免拼写错误,例如将width误写为widht
  • 重复代码:使用add_edges_from可以减少重复代码,提升代码的可读性和维护性。
  • 数据验证:如果数据输入不完整或有误,NetworkX不会抛出错误,而是使用默认值,这可能导致图形不符合预期。
结论

通过以上步骤,我们可以创建一个简单的网络图,并通过调整边的宽度来突出不同的连接关系。这种方法不仅可以用于展示数据,还可以帮助我们更深入地理解网络的结构和节点之间的关系。在实际应用中,动态调整边宽可以根据数据的变化来反映网络中的流量或权重变化,提供更丰富的视觉信息。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/6 8:20:07

ClockPicker样式自定义:从零开始打造个性化时钟界面

ClockPicker样式自定义:从零开始打造个性化时钟界面 【免费下载链接】clockpicker A clock-style timepicker for Bootstrap (or jQuery). Sorry but no longer maintained. 项目地址: https://gitcode.com/gh_mirrors/cl/clockpicker ClockPicker是一款基于…

作者头像 李华
网站建设 2026/5/6 8:15:46

基于Rust构建多智能体强化学习竞技场:从原理到实践

1. 项目概述:一个基于Rust的智能体竞技场 最近在探索多智能体系统(MAS)和强化学习(RL)的交叉领域时,我遇到了一个非常有意思的开源项目: rustyorb/agent-arena 。这个名字本身就充满了吸引力—…

作者头像 李华
网站建设 2026/5/6 8:12:27

视频转PPT神器:3分钟智能提取视频中的幻灯片内容

视频转PPT神器:3分钟智能提取视频中的幻灯片内容 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 还在为从海量视频中手动截图PPT页面而烦恼吗?extract-video-…

作者头像 李华