Как рисовать пользовательские графики и добавлять метки к вершинам в Python? - PullRequest
0 голосов
/ 17 февраля 2019

Я пытаюсь нарисовать граф, в котором, очевидно, у меня есть вершины и ребра.

Мне удалось создать сам граф, но я хотел бы изменить код таким образом, чтобы каждая вершина имелаэтикетка.Как и "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 голосов
/ 17 февраля 2019
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

...