如何在Python中绘制自定义图形并将标签添加到顶点?

时间:2019-02-17 17:15:21

标签: python matplotlib graph networkx

我试图绘制一个图形,其中显然有顶点和边。

我设法自己创建了图形,但是我想以这样的方式修改代码,即每个顶点都有一个标签。像“ 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)

输出:

enter image description here

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

中给出
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()

1 个答案:

答案 0 :(得分:2)

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()

产生诸如 enter image description here