绘图

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] )

使用图拉普拉斯的特征向量定位节点。

spiral_layout (g) [, scale, center, dim, ...] )

在螺旋布局中定位节点。