Просто, чтобы добавить к предыдущему ответу (Avaris), также может быть полезным использование атрибута * nodelist"networkx.draw_networkx_nodes ()".
import matplotlib.pyplot as plt
import networkx as nx
nodes = [0,1,2,3]
edges = [(0,1), (1,2), (3,1), (2,3)]
nodeListA = [0,1]
nodeListB = [2,3]
G = nx.Graph()
G.add_nodes_from(nodes)
G.add_edges_from(edges)
position = nx.circular_layout(G)
nx.draw_networkx_nodes(G,position, nodelist=nodeListA, node_color="b")
nx.draw_networkx_nodes(G,position, nodelist=nodeListB, node_color="r")
nx.draw_networkx_edges(G,position)
nx.draw_networkx_labels(G,position)
plt.show()
Это генерируетНа следующем рисунке:
Вы также можете получить доступ к позициям узлов из переменной "position".Вывод будет выглядеть примерно так:
In [119]: position
Out[119]:
{0: array([ 1. , 0.5], dtype=float32),
1: array([ 0.49999997, 1. ], dtype=float32),
2: array([ 0. , 0.49999997], dtype=float32),
3: array([ 0.5, 0. ], dtype=float32)}