当前位置:首页>python>学Python5️⃣3️⃣ 实战Vibe Coding 图:一个“口”字

学Python5️⃣3️⃣ 实战Vibe Coding 图:一个“口”字

  • 2026-10-11 06:38:38
学Python5️⃣3️⃣ 实战Vibe Coding 图:一个“口”字

学Python5️⃣3️⃣ 实战Vibe Coding 图:一个“口”字

作者:小号🎺

上次的图论起步,用了三个点,建立了一个3×3的矩阵(邻接矩阵),画出了对应的可视化图。(🔗学Python5️⃣1️⃣ 实战VibeCoding 图论起步(Graph ABC))

三个节点的邻接矩阵:

[0.5, 1.0, 0.0],[0.2, 0.0, 0.8],[0.0, 1.8, 0.0]

3×3的邻接矩阵及其可视化图比较简单。

上次只有3个点,小号想:多加一个点,会是什么情况?于是便求助于AI。

问题:

有4个点,像汉字“口”那样构成一个正方形。“口”字的书写笔划就是有向图的方向。这样成立吗?能够构建出对应的邻接矩阵吗?能够可视化吗?能不能用代码演示一下?

AI回答(小号整理):

是的。像“口”字那样有4个点,对应的就用一个4×4的邻接矩阵。

[0, 1, 0, 1], # 0 -> 1 (上横), 0 -> 3 (左竖)[0, 0, 1, 0], # 1 -> 2 (右竖)[0, 0, 0, 0], # 2 无出边[0, 0, 1, 0]  # 3 -> 2 (下横)

像“口”字那样,用它的书写笔划来代表点与点之间的连接及其方向,也是成立的。这是有向图。

相应的可视化代码(Python版)如下:

import numpy as npimport networkx as nximport matplotlib.pyplot as plt# 中文字体设置 - 放在所有绘图代码之前plt.rcParams['font.sans-serif'] = ['SimHei', 'Microsoft YaHei', 'SimSun']plt.rcParams['axes.unicode_minus'] = False# 4个节点:0(左上), 1(右上), 2(右下), 3(左下)A = np.array([    [0, 1, 0, 1],  # 0 -> 1 (上横), 0 -> 3 (左竖)    [0, 0, 1, 0],  # 1 -> 2 (右竖)    [0, 0, 0, 0],  # 2 无出边    [0, 0, 1, 0]   # 3 -> 2 (下横)])G = nx.DiGraph(A) # networkx 可以直接从邻接矩阵读取# 为了视觉上像“口”,固定节点位置pos = {    0: (0, 1), # 左上    1: (1, 1), # 右上    2: (1, 0), # 右下    3: (0, 0)  # 左下}fig, ax = plt.subplots(figsize=(6, 6))nx.draw(G, pos, with_labels=True, node_color='lightgreen',        node_size=800, arrows=True, arrowstyle='-|>', arrowsize=20)edge_labels = {(u,v): f'{u}->{v}' for u,v in G.edges()}nx.draw_networkx_edge_labels(G, pos, edge_labels=edge_labels)#plt.tight_layout()plt.title("“口”字,4节点,笔划书写方向,有向图,邻接矩阵 可视化")plt.show()

代码运行截图:

体会:(小号“观察”到的,未确认)

图,只关心点和连接,不关心点的位置。所以,为了让4个点看起来像个“口”字,代码中还加了一段 pos=... 如果没有这个设定,让这4个点自由分布,就有可能像小孩子刚学写字,什么奇形怪状的都有。

好了,休息一下。

往期回顾:
学Python5️⃣1️⃣ 实战VibeCoding 图论起步(Graph ABC)
学Python5️⃣0️⃣ 实战VibeCoding+人工debug
备注:
小号再啰嗦两句。新版的PyCharm中,在调用matplotlib绘图时,将图像显示区内嵌在代码编辑区内,这样看起来很不习惯,如下
如果想改回原来的显示方式,可以在 File -> Settings 面板中左侧下拉找到 Tools -> Python Plots,再在右侧的选项中,不勾选 Show plots in tool window 。
#Python#学Python#大白#小号#VideCoding#原创#图#Graph#矩阵#邻接矩阵#有向图#可视化

最新文章

随机文章