本系列拟对图和网络的可视化作一个专题,在此只简单介绍基于 Matplotlib 的基本绘图函数。基本绘图函数使用字典提供的位置将节点放置在散点图上,或者使用布局函数计算位置。
方法 说明draw(G[,pos,ax]) 基于 Matplotlib 绘制 图 G
draw_networkx(G[, pos, arrows, with_labels]) 基于 Matplotlib 绘制 图 G
draw_networkx_nodes(G, pos[, nodelist, . . . ]) 绘制图 G 的顶点
draw_networkx_edges(G, pos[, edgelist, . . . ]) 绘制图 G 的边
draw_networkx_labels(G, pos[, labels, . . . ]) 绘制顶点的标签
draw_networkx_edge_labels(G, pos[, . . . ]) 绘制边的标签
其中,nx.draw() 和 nx.draw_networkx() 是最基本的绘图函数,并可以通过自定义函数属性或其它绘图函数设置不同的绘图要求。常用的属性定义如下:
'node_size':指定节点的尺寸大小,默认300
'node_color':指定节点的颜色,默认红色
'node_shape':节点的形状,默认圆形
''alpha':透明度,默认1.0,不透明
'width':边的宽度,默认1.0
'edge_color':边的颜色,默认黑色
'style':边的样式,可选 'solid'、'dashed'、'dotted'、'dashdot'
'with_labels':节点是否带标签,默认True
'font_size':节点标签字体大小,默认12
'font_color':节点标签字体颜色,默认黑色
3.2 图的分析NetwotkX 提供了图论函数对图的结构进行分析:
子图
子图是指顶点和边都分别是图 G 的顶点的子集和边的子集的图。
subgraph()方法,按顶点从图 G 中抽出子图。例程如前。
连通子图
如果图 G 中的任意两点间相互连通,则 G 是连通图。
connected_components()方法,返回连通子图的集合。
** 强连通**
如果有向图 G 中的任意两点间相互连通,则称 G 是强连通图。
strongly_connected_components()方法,返回所有强连通子图的列表。
弱连通
如果一个有向图 G 的基图是连通图,则有向图 G 是弱连通图。
weakly_connected_components()方法,返回所有弱连通子图的列表。
=== 关注 Youcans 原创系列(https://www.cnblogs.com/youcans/)
版权说明:
参考文献声明:本文部分内容参考了 NetworkX 官网介绍:https://networkx.org/documentation/stable/
YouCans 原创作品
Copyright 2021 YouCans, XUPT
Crated:2021-05-16