参考Link:
(1)用Python的networkx绘制精美网络图
https://blog.csdn.net/qq951127336/article/details/54586869
(2)python-plot and networkx绘制网络关系图
https://www.cnblogs.com/rnanprince/p/10816771.html
#networkx有四种图 Graph 、DiGraph、MultiGraph、MultiDiGraph,分别为无多重边无向图、无多重边有向图、有多重边无向图、有多重边有向图。
import network as nx
G = nx.Graph()#创建空的网络图
G = nx.DiGraph()
G = nx.MultiGraph()
G = nx.MultiDiGraph()
加边与加点
G.add_node('a')#添加点a
G.add_node(1,1)#用坐标来添加点
G.add_edge('x','y')#添加边,起点为x,终点为y
G.add_weight_edges_from([('x','y',1.0)])#第三个输入量为权值
#也可以如下
list = [[('a','b',5.0),('b','c',3.0),('a','c',1.0)]
G.add_weight_edges_from([(list)])
图形显示
#需要导入matplotlib
import matplotlib.pyplot as plt
nx.draw(G)
plt.show()
def draw_networkx_edges(G, pos,
edgelist=None,
width=1.0,
edge_color='k',
style='solid',
alpha=1.0,
edge_cmap=None,
edge_vmin=None,
edge_vmax=None,
ax=None,
arrows=True,
label=None,
**kwds):
G:图表
一个networkx图
pos:dictionary
将节点作为键和位置作为值的字典。
位置应该是长度为2的序列。
edgelist:边缘元组的集合
只绘制指定的边(默认= G.edges())
width:float或float数组
边线宽度(默认值= 1.0)
edge_color:颜色字符串或浮点数组
边缘颜色。可以是单颜色格式字符串(default ='r'),
或者具有与edgelist相同长度的颜色序列。
如果指定了数值,它们将被映射到
颜色使用edge_cmap和edge_vmin,edge_vmax参数。
style:string
边线样式(默认='solid')(实线|虚线|点线,dashdot)
alpha:float
边缘透明度(默认值= 1.0)
edge_ cmap:Matplotlib色彩映射
用于映射边缘强度的色彩映射(默认值=无)
edge_vmin,edge_vmax:float
边缘色图缩放的最小值和最大值(默认值=无)
ax:Matplotlib Axes对象,可选
在指定的Matplotlib轴中绘制图形。
arrows:bool,optional(default = True)
对于有向图,如果为真,则绘制箭头。
label:图例的标签
def draw_networkx_nodes(G, pos,
nodelist=None,
node_size=300,
node_color='r',
node_shape='o',
alpha=1.0,
cmap=None,
vmin=None,
vmax=None,
ax=None,
linewidths=None,
label=None,
**kwds):
pos:dictionary
将节点作为键和位置作为值的字典。
位置应该是长度为2的序列。
ax:Matplotlib Axes对象,可选
在指定的Matplotlib轴中绘制图形。
nodelist:list,可选
只绘制指定的节点(默认G.nodes())
node_size:标量或数组
节点大小(默认值= 300)。如果指定了数组,它必须是
与点头长度相同。
node_color:颜色字符串或浮点数组
节点颜色。可以是单颜色格式字符串(default ='r'),
或者具有与点头相同长度的颜色序列。
如果指定了数值,它们将被映射到
颜色使用cmap和vmin,vmax参数。看到
matplotlib.scatter更多详细信息。
node_shape:string
节点的形状。规格为matplotlib.scatter
标记,'so ^> v <dph8'(默认='o')之一。
alpha:float
节点透明度(默认值= 1.0)
cmap:Matplotlib色图
色彩映射节点的强度(默认=无)
vmin,vmax:float
节点色彩映射缩放的最小值和最大值(默认值=无)
线宽:[无|标量|序列]
符号边框的线宽(默认值= 1.0)
label:[无|串]
图例的标签