2010-10-20 34 views
11

Im sử dụng networkx để hiển thị. Tôi thấy khi tôi sử dụng hàm draw_networkx_edge_labels Tôi có thể truy xuất nhãn cho các cạnh.Vẽ thuộc tính nút mạng

Tôi muốn in thuộc tính trên nút (thay vì nhãn) .. hãy thử mọi thứ gần như. vẫn còn bị mắc kẹt. Nếu tôi có 5 thuộc tính cho mỗi nút, có anyway tôi có thể in một thuộc tính cụ thể trên mỗi nút? Ví dụ: nếu nút xe có thuộc tính: kích thước, giá, công ty, .. Tôi muốn in kích thước của ô tô trên mỗi nút?

Không biết liệu có thể xuất kết quả này trên biểu đồ hay không.

Trả lời

17

Bạn có thể làm điều đó bằng cách chỉ định nhãn = từ khóa - hơi vụng về. ví dụ:

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

Thay thế một chút dễ dàng hơn cho dòng 7: 'labels = nx.get_node_attributes (G, 'size')' Hàm đó trả về một giá trị như được tạo trong dòng 7. – TrentP

Các vấn đề liên quan