Рисование атрибута узла NetworkX - PullRequest
15 голосов
/ 21 октября 2010

Я использую networkx для визуализации. Я вижу, когда я использую функцию draw_networkx_edge_labels Я могу получить метки для краев.

Я хочу напечатать атрибут на узле (вместо метки) .. почти все попробовать. все еще застряли. Если у меня есть 5 атрибутов на узел, могу ли я в любом случае напечатать определенный атрибут на каждом узле? Например, если у автомобильного узла есть атрибуты: размер, цена, компания, ... Я хочу напечатать размер автомобиля на каждом узле?

Не знаю, можно ли вывести это на график.

1 Ответ

22 голосов
/ 05 ноября 2010

Вы можете сделать это, указав ключевое слово метки = - это немного неуклюже. например:

In [1]: import pylab

In [2]: import networkx as nx

In [3]: G=nx.Graph()

In [4]: G.add_node('Golf',size='small')

In [5]: G.add_node('Hummer',size='huge')

In [6]: G.add_edge('Golf','Hummer')

In [7]: labels=dict((n,d['size']) for n,d in G.nodes(data=True))

In [8]: labels
Out[8]: {'Golf': 'small', 'Hummer': 'huge'}

In [9]: nx.draw(G,labels=labels,node_size=1000)

In [10]: pylab.show()
...