承接国内外服务器租用托管、定制开发、网站代运营、网站seo优化托管接单、网站代更新,新老站点皆可!!咨询QQ:3787320601
当前位置:首页  >  软件开发  >  python 画结构图

python 画结构图

管理员 2023-06-27 08:39:00 软件开发 10 ℃ 0 评论 2386字 收藏

python 画结构图

Python 是一种强大的编程语言,由于其易于学习、易于浏览和易于编写的特点,被愈来愈多的程序员所爱好。在Python 3.x 中,我们可使用第三方库 Matplotlib 来生成各种各样的图表,包括结构图。下面将介绍怎样使用Python 画结构图。

首先,我们需要导入相关的库:

import matplotlib.pyplot as plt
import networkx as nx

其中,Matplotlib 是用于绘制图表的主要库,而 NetworkX 是用于创建和操作图形结构的库。

接下来,我们可使用 NetworkX 来创建一个空图,并添加节点和边:

G = nx.DiGraph()  # 创建有向图
G.add_node("A")
G.add_nodes_from(["B", "C", "D", "E"])  # 添加多个节点
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)

这段代码表示创建了一个有向图,其中有五个节点,分别为 A、B、C、D、E,其中 A 与 B 之间有一条边,边的权重为 0.6,A 和 C 之间有一条边,权重为 0.2,C 和 D 之间有一条边,权重为 0.1,C 和 E 之间有一条边,权重为 0.7。

接下来,我们可使用 Matplotlib 来对图形进行绘制:

pos = nx.spring_layout(G)  # 定义节点位置
nx.draw_networkx_nodes(G, pos, node_color="r", node_size=500)  # 绘制节点
nx.draw_networkx_edges(G, pos, width=1.0, alpha=0.5)  # 绘制边
nx.draw_networkx_labels(G, pos, font_size=10, font_family="sans-serif")  # 绘制标签
labels = nx.get_edge_attributes(G, "weight")  # 获得边的权重
nx.draw_networkx_edge_labels(G, pos, edge_labels=labels, font_size=8)  # 绘制边的权重值
plt.axis("off")  # 关闭坐标轴
plt.show()  # 显示图形

这段代码表示使用 NetworkX 提供的 spring_layout 函数来定义节点位置,然后使用 draw_networkx_nodes、draw_networkx_edges 和 draw_networkx_labels 函数分别绘制节点、边和标签,并使用 get_edge_attributes 函数获得边的权重,再使用 draw_networkx_edge_labels 函数来绘制边的权重值。

最后,我们通过调用 axis 函数关闭坐标轴,并调用 show 函数来显示图形。

综上所述,Python 语言在画结构图方面也有其独到的地方,使用 Matplotlib 和 NetworkX 库可以轻松地生成各种各样的结构图。

文章来源:丸子建站

文章标题:python 画结构图

https://www.wanzijz.com/view/59667.html

X

截屏,微信识别二维码

微信号:weimawl

(点击微信号复制,添加好友)

打开微信