首页 > 编程语言 >6.1 用python代码绘制以下图形

6.1 用python代码绘制以下图形

时间:2024-10-25 23:01:20浏览次数:1  
标签:v6 python v1 v2 v3 v4 v5 6.1 绘制

用python绘制一个无向图:v1在中间,v2、v3、v4、v5、v6在周围;v1与v2、v3、v4相连;v2与v3、v6、v1相连;v3与v1、v2、v4相连;v4与v1、v3、v5相连;v5与v4、v6相连;v6与v2、v5相连

点击查看代码
import networkx as nx  
import matplotlib.pyplot as plt  

G = nx.Graph()  

nodes = ['v1', 'v2', 'v3', 'v4', 'v5', 'v6']  
G.add_nodes_from(nodes)  

edges = [  
    ('v1', 'v2'), ('v1', 'v3'), ('v1', 'v4'),  
    ('v2', 'v3'), ('v2', 'v6'),  
    ('v3', 'v4'),  
    ('v4', 'v5'),  
    ('v5', 'v6')  
]  
G.add_edges_from(edges)  
  
pos = nx.circular_layout(G)  

center = (0, 0)  
pos['v1'] = center  

plt.figure(figsize=(8, 8))  
nx.draw(G, pos, with_labels=True, node_color='skyblue', node_size=700, font_size=15, font_weight='bold')  
plt.title("Undirected Graph as Described")  
plt.axis('equal')  
plt.show()

print("学号:3004")
![](/i/l/?n=24&i=blog/3513959/202410/3513959-20241025224537761-301781416.png)

用python绘制一个无向图:v1在中间,v2、v3、v4、v5、v6在周围,要显示权重;v1与v2相连,权重为7;v1与v3相连,权重为3;v1与v4相连,权重为12;v2与v3相连,权重为1;v2与v6相连,权重为1;v3与v4相连,权重为8;v4与v5相连,权重9;v5与v6相连,权重为3

点击查看代码
import networkx as nx  
import matplotlib.pyplot as plt  

G = nx.Graph()  

nodes = ['v1', 'v2', 'v3', 'v4', 'v5', 'v6']  
G.add_nodes_from(nodes)  

edges = [  
    ('v1', 'v2', 7),  
    ('v1', 'v3', 3),  
    ('v1', 'v4', 12),  
    ('v2', 'v3', 1),  
    ('v2', 'v6', 1),  
    ('v3', 'v4', 8),  
    ('v4', 'v5', 9),  
    ('v5', 'v6', 3)  
]  
G.add_weighted_edges_from(edges)  
 
pos = nx.circular_layout(G)  

center = (0, 0)  
pos['v1'] = center  
  
def draw_edges_with_weights(G, pos):  
    edge_labels = {(u, v): d['weight'] for u, v, d in G.edges(data=True)}  
    nx.draw_networkx_edge_labels(G, pos, edge_labels=edge_labels)  
  
plt.figure(figsize=(10, 10))  
nx.draw(G, pos, with_labels=True, node_color='lightblue', node_size=700, font_size=15, font_weight='bold')  
draw_edges_with_weights(G, pos)  
plt.title("Undirected Graph with Weights")  
plt.axis('equal')  
plt.show()

print("学号:3004")
![](/i/l/?n=24&i=blog/3513959/202410/3513959-20241025225703193-1434315150.png)

用python绘制一个有向图:v1在中间,v2、v3、v4、v5、v6在周围,要显示权重;v2指向v1,权重为7;v1指向v3,权重为3;v4指向v1,权重为12;v2指向v3,权重为1;v6指向v2,权重为1;v3指向v4,权重为8;v5指向v4,权重9;v5指向v6,权重为3

点击查看代码
import networkx as nx  
import matplotlib.pyplot as plt  

G = nx.DiGraph()  
 
nodes = ['v1', 'v2', 'v3', 'v4', 'v5', 'v6']  
G.add_nodes_from(nodes)  

edges = [  
    ('v2', 'v1', 7),  
    ('v1', 'v3', 3),  
    ('v4', 'v1', 12),  
    ('v2', 'v3', 1),  
    ('v6', 'v2', 1),  
    ('v3', 'v4', 8),  
    ('v5', 'v4', 9),  
    ('v5', 'v6', 3)  
]  
G.add_weighted_edges_from(edges)  
    
pos = nx.circular_layout(G)  
  
def draw_edges_with_weights(G, pos):  
    edge_labels = {(u, v): d['weight'] for u, v, d in G.edges(data=True)}  
    nx.draw_networkx_edge_labels(G, pos, edge_labels=edge_labels, font_color='red')  

plt.figure(figsize=(10, 10))  
nx.draw(G, pos, with_labels=True, node_color='lightblue', node_size=700, font_size=15, font_weight='bold', arrows=True)  
draw_edges_with_weights(G, pos)    
plt.title("Directed Graph with Weights")  
plt.axis('equal')    
plt.show()

print("学号:3004")
![](/i/l/?n=24&i=blog/3513959/202410/3513959-20241025225747067-486992261.png)

标签:v6,python,v1,v2,v3,v4,v5,6.1,绘制
From: https://www.cnblogs.com/howoo0808/p/18503411

相关文章

  • Python编码规范
        为什么不直接进入Python的语法和数据类型阶段,而是介绍Python编码规范?因为这很重要!作为一个开发的老鸟,给新人的第一个建议就是Python编码规范,这种规范很多时候不仅仅是Python,祝大家养成良好的代码习惯!~~~~一.忽略代码规范的规则以下情况可以忽略代码规范,其余情况请尽量......
  • python编程基础
    @目录1.python中的变量和数据类型1.1变量1.2python基本数据类型1.3基本输入与输出输入(Input)输出(Output)基本输出打印多个参数格式化输出打印到文件1.4python中的运算符算术运算符比较运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符2.python中的列表、元组、字典、集合2.1......
  • python异常处理中finally的作用
    Python异常处理中finally的作用包括:1、确保程序块退出前的代码执行、2、资源释放和清理工作、3、与return语句的交互行为。在finally子句中最为典型的应用是清理资源,比如关闭文件流或数据库连接。不论try块内代码是否触发了异常,finally子句都会被执行,这为程序员提供一种可靠的手段......
  • Python应用指南:地铁两站之间最短路径查询
    随着城市交通的发展,地铁已成为许多城市居民日常出行的重要方式之一。地铁网络的复杂性和站点数量的增加使得乘客在选择最佳路线时面临挑战。为了帮助乘客快速、准确地找到从起始站到目的站的最短乘坐线路,本篇文章我们来求一下地铁两站之间最短路径查询的查询,通过Python脚本快......
  • 10.25Python_pandas_函数(1)
    二、函数1、常用的统计学函数函数名称描述说明count()统计某个非空值的数量sum()求和mean()求均值median()求中位数std()求标准差min()求最小值max()求最大值abs()求绝对值prod()求所有数值的乘积案例:#创建一个示例DataFramedata={'A':[1,2,3,4,5],......
  • 用python绘图-散点图/直方图/概率密度图
    项目用到的文件:一、代码解释:drawing01.pyimportdash#Dash是用于构建分析型Web应用的Python框架,由Plotly开发fromdashimportdccfromdashimporthtmlfromdash.dependenciesimportInput,Outputimportpandasaspd#尤其适用于表格数据和时间序列数......
  • python+flask框架的基于微信小程序的非法集资案件登记平台前台8(开题+程序+论文) 计算
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着互联网技术的飞速发展,微信小程序作为一种轻量级的应用形式,已广泛应用于各行各业。在打击非法集资案件的过程中,传统的登记方式存在效率......
  • python+flask框架的基于微信小程序的高校实验室考勤管理系统的设计与实现前端8(开题+
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景关于高校实验室考勤管理问题的研究,现有研究主要集中在传统考勤系统的设计与实现上,如基于RFID、指纹识别等技术。然而,随着移动互联网技术的......
  • python+flask框架的基于微信小程序的高校食堂在线预约点餐系统的设计服务端视频8(开题
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着移动互联网技术的迅猛发展,高校学生的生活方式和学习模式正发生着深刻变化。特别是在餐饮消费方面,学生群体对便捷性、个性化和高效性的......
  • 【Python中的字符串处理】正则表达式与常用字符串操作技巧!
    Python中的字符串处理:正则表达式与常用字符串操作技巧Python在字符串处理方面提供了丰富的内置功能和模块,能够帮助开发者处理各种复杂的文本操作。无论是简单的字符串拼接、替换,还是借助正则表达式(re模块)实现的模式匹配,Python都有强大的工具可以让我们高效处理文本数据......