import networkx as nx
import matplotlib.pyplot as plt
from networkx import multigraph
import pandas as pd
plt.rcParams["font.sans-serif"]=['Microsoft YaHei'] #正常显示中文
plt.rcParams["axes.unicode_minus"]=False # 正常显示负号
data = pd.read_csv(r'C:\Users\hp\Desktop\tongji.csv',encoding='gbk')
g = nx.Graph()
g.add_node('北京铁路局')
a = data['name'][:19]
b = data['num'][:19]
for i in a:
g.add_edge('北京铁路局',i)
plt.figure(figsize=(12, 8))
node_size = [i*300 for i in b]
nx.draw(g, with_labels=True,encoding='utf_8_sig', node_size=node_size)
plt.savefig(r'C:\Users\Administrator\Desktop\path.png') #存至本地
以下为python2中
# =================创建一个图
import networkx as nx
g = nx.Graph()
g.clear() #将图上元素清空
G = nx.Graph() # 创建无向图
G = nx.DiGraph() # 创建有向图
G = nx.MultiGraph() # 创建多重无向图
G = nx.MultiDigraph() # 创建多重有向图
# =================节点
#1 添加一个节点
g.add_node(1)
g.add_node("a")
g.add_node("spam")
#2 添加一组节点
g.add_nodes_from([2,3])
# or
a = [2,3]
g.add_nodes_from(a)
#3
g.add_node("spam") #添加了一个名为spam的节点
g.add_nodes_from("spam") #添加了4个节点,名为s,p,a,m
g.nodes() #可以将以上5个节点打印出来看看
#4 加一组从0开始的连续数字的节点
H = nx.path_graph(10)
g.add_nodes_from