绘图

NetworkX提供了图形可视化的基本功能,但其主要目标是启用图形分析,而不是执行图形可视化。将来,图形可视化功能可能会从NetworkX中删除,或者仅作为附加包提供。

正确的图形可视化是困难的,我们强烈建议人们使用专门用于该任务的工具来可视化他们的图形。专用且功能齐全的图形可视化工具的显著示例有 CytoscapeGephiGraphviz 而且,为了 LaTeX 排版, PGF/TikZ . 要使用这些工具和其他类似工具,您应该将networkx图导出为这些工具可以读取的格式。例如,Cytoscape可以读取图形格式,因此, networkx.write_graphml(G, path) 可能是一个合适的选择。

Mat普特利布

Mat普特利布

用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, ...] ) 在图G上绘制节点标签。
draw_networkx_edge_labels (G,POS) [, ...] ) 绘制边缘标签。
draw_circular \(g) *  * 克瓦格斯) 用圆形布局绘制图G。
draw_kamada_kawai \(g) *  * 克瓦格斯) 用Kamada Kawai部队定向布局绘制图G。
draw_planar \(g) *  * 克瓦格斯) 用平面布局绘制平面网络图。
draw_random \(g) *  * 克瓦格斯) 用随机布局绘制图G。
draw_spectral \(g) *  * 克瓦格斯) 用光谱二维布局绘制图G。
draw_spring \(g) *  * 克瓦格斯) 用弹簧布局绘制图G。
draw_shell \(g) *  * 克瓦格斯) 使用外壳布局绘制NetworkX图。

笔迹图(点)

图形化图形

Pygraphviz Agraph类的接口。

实际案例

>>> G = nx.complete_graph(5)
>>> A = nx.nx_agraph.to_agraph(G)
>>> H = nx.nx_agraph.from_agraph(A)

参见

Pygraphviz
http://pygraphviz.github.io/
from_agraph (a) [, create_using] ) 从pygraphviz图返回networkx图或有向图。
to_agraph (n) 从networkx图n返回pygraphviz图。
write_dot \(g路径) 将networkx graph g写入路径上的graphviz点格式。
read_dot [(路径)] 从路径上的点文件返回networkx图。
graphviz_layout (g) [, prog, root, args] ) 使用graphviz为g创建节点位置。
pygraphviz_layout (g) [, prog, root, args] ) 使用graphviz为g创建节点位置。

带Pydot的Graphviz

派多特

使用pydot以graphviz点格式导入和导出networkx图。

此模块或 nx_agraph 可用于与graphviz接口。

from_pydot [(p)] 从Pydot图返回NetworkX图。
to_pydot (n) 从networkx图n返回一个pydot图。
write_dot \(g路径) 将networkx graph g写入路径上的graphviz点格式。
read_dot [(路径)] 返回networkx MultiGraphMultiDiGraph 从具有传递路径的点文件。
graphviz_layout (g) [, prog, root] ) 使用pydot和graphviz创建节点位置。
pydot_layout (g) [, prog, root] ) 使用创建节点位置 pydot 和图形VIVIZ。

图形布局

布局

用于图形绘制的节点定位算法。

为了 random_layout() 可能产生的形状是一个正方形的边 [0、比例尺] (默认: [0, 1] 改变 center 按该数量移动布局。

对于其他布局例程,范围是 [center - scale, center + scale] (默认: [-1, 1] )

警告:大多数布局例程仅在二维中进行了测试。

bipartite_layout \(g,节点) [, align, scale, ...] ) 将节点定位在两条直线上。
circular_layout (g) [, scale, center, dim] ) 在圆上定位节点。
kamada_kawai_layout (g) [, dist, pos, weight, ...] ) 使用Kamada Kawai路径长度成本函数定位节点。
planar_layout (g) [, scale, center, dim] ) 定位没有边缘交点的节点。
random_layout (g) [, center, dim, seed] ) 在单位正方形内均匀随机定位节点。
rescale_layout (POS) [, scale] ) 将缩放位置数组返回到所有轴中的(-scale,scale)。
shell_layout (g) [, nlist, scale, center, dim] ) 将节点定位在同心圆中。
spring_layout (g) [, k, pos, fixed, ...] ) 使用Fruchterman-Reingold力定向算法定位节点。
spectral_layout (g) [, weight, scale, center, dim] ) 使用图拉普拉斯的特征向量定位节点。