Изменить цвет узлов, когда в макете пружины + сетьx - PullRequest
1 голос
/ 01 мая 2011

Как я могу изменить узлы цвета, где местоположение не известно

Итак, я видел эту ссылку в стеке потока, где был дан ответ для явно установленных позиций:узлы.

Но, скажем, у меня есть такой график

   G = nx.Graph()
   for i in range(10):
      G.add_node(i)
   for i in range(9):
      G.add_edge(i,i+1)
   pos = nx.spring_layout(G)
   node_num = random.randint(0,10)

Теперь, если у меня есть что-то, получим случайное число и раскрасим его в синий цвет, и пусть другие будут красными ....Я бы реализовал это, используя nodes_list атрибут функции 'draw_networkx'. Здесь есть узлы для целых чисел.Если бы вы могли дать решение для любого типа имени узла, это было бы более полезно ....

спасибо большое ..

1 Ответ

1 голос
/ 02 мая 2011

Вот код, который может помочь. Это выбирает случайный узел для окрашивания в синий цвет, а остальные - в красный.

import random
import matplotlib.pyplot as plt
import networkx as nx
G=nx.Graph()
G.add_edges_from([('a','b'),('b','d'),('c','e'),('b','e')])
pos=nx.spring_layout(G)
nodes=G.nodes()
random.shuffle(nodes)
blue=nodes.pop()
nx.draw_networkx_nodes(G,pos,nodelist=[blue],node_color='b')
nx.draw_networkx_nodes(G,pos,nodelist=nodes,node_color='r')
nx.draw_networkx_edges(G,pos)
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...