import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
G.add_node('wuhan',size=10)
G.add_weighted_edges_from([(1, 2, 0.5), (3, 1,5)])
options = {
'node_color': 'red',
'node_size': 100,
'width': 3,
}
nx.draw(G, with_labels=True, font_weight='bold',**options)
plt.show()
node_color=color_map,
color_map = []
for node in G:
print(type(node))
if type(node)!=str:
if node < 2:
color_map.append('blue')
else:
color_map.append('green')
else:
color_map.append('red')
nx.draw(G, node_color=color_map, with_labels=True)
plt.show()
<class 'str'>
<class 'int'>
<class 'int'>
<class 'int'>
print(color_map)
['red', 'blue', 'green', 'green']
还存在查询功能
list(G.nodes(data=‘foo’))
[(0, ‘bar’), (1, None), (2, None)]
list(G.nodes(data=‘time’))
[(0, None), (1, ‘5pm’), (2, None)]
relabeling
G = nx.path_graph(3)
sorted(G)
[0, 1, 2]
mapping = {0: ‘a’, 1: ‘b’, 2: ‘c’}
H = nx.relabel_nodes(G, mapping)
H = nx.relabel_nodes(G, lambda x: x ** 2)
G = nx.relabel_nodes(G, mapping, copy=False)
由于network的数据绘制是基于matplot的,所以我们imread录入数据,更改标签形状
import matplotlib.image as mpimg
img=mpimg.imread(’/Users/johanneswachs/Downloads/stink.jpeg’)
-
G=nx.Graph()
-
G.add_node(0,image= img)
-
G.add_node(1,image= img)
nx.draw(G, node_color=color_map, with_labels=True)
plt.show()
mapping = { 1: 'hongshan', 2: 'donghu'}
H = nx.relabel_nodes(G, mapping)
nx.draw(H, node_color=color_map, with_labels=True)
plt.show()
G = nx.relabel_nodes(G, mapping, copy=False)
nx.draw(G, node_color=color_map, with_labels=True)
plt.show()