首页 > 解决方案 > 如何在 Python 中绘制自定义图形并为顶点添加标签?

问题描述

我正在尝试绘制一个图表,其中显然我有顶点和边。

我设法自己创建了图形,但我想以这样一种方式修改代码,即每个顶点都有一个标签。比如“A、B、C、D”。我希望能够在给定用户输入的情况下绘制图表(如果你能这样帮助我的话)。

最小工作输入/输出: 输入:

4 (number of nodes)
4 (number of edges)
1 2 2 3 1 3 2 4 (the pairs of connected vertices)

输出:

在此处输入图像描述

我的代码打印没有标签的图形(边缘在

import numpy as np   
import networkx as nx  
import matplotlib.pyplot as plt

G=nx.Graph()

G.add_edges_from([(1,2),(2,3),(1,3),(2,4)])
nx.draw(G,vertex_label=["A", "B", "C", "D"]) 
plt.show()

标签: pythonmatplotlibgraphnetworkx

解决方案


import numpy as np   
import networkx as nx  
import matplotlib.pyplot as plt

G = nx.Graph()
G.add_edges_from([(1,2),(2,3),(1,3),(2,4)])
labelmap = dict(zip(G.nodes(), ["A", "B", "C", "D"]))
nx.draw(G, labels=labelmap, with_labels=True) 
plt.show()

产生一个图像,如 在此处输入图像描述


推荐阅读