draw_networkx#

draw_networkx(G, pos=None, arrows=None, with_labels=True, **kwds)[source]#

使用 Matplotlib 绘制图 G。

使用 Matplotlib 绘制图,并提供节点位置、标签、标题和许多其他绘图功能的选项。 参见 draw() 以进行简单的无标签或坐标轴的绘图。

Parameters:
Ggraph

一个 networkx 图

posdictionary, 可选

一个以节点为键、位置为值的字典。 如果未指定,将计算弹簧布局位置。 参见 networkx.drawing.layout 以获取计算节点位置的函数。

arrowsbool 或 None, 可选 (默认=None)

如果为 None ,有向图使用 FancyArrowPatch 绘制箭头,无向图使用 LineCollection 绘制边以提高速度。 如果为 True ,使用 FancyArrowPatches 绘制箭头(可弯曲且时尚)。 如果为 False ,使用 LineCollection 绘制边(线性且快速)。 对于有向图,如果为 True 则绘制箭头。 注意:箭头将与边颜色相同。

arrowstylestr (有向图默认=’-|>’)

对于有向图,选择箭头的样式。 对于无向图默认为 ‘-’

参见 matplotlib.patches.ArrowStyle 以获取更多选项。

arrowsizeint 或 list (默认=10)

对于有向图,选择箭头头部长度和宽度的尺寸。可以传递一个值列表来为箭头头部长度和宽度指定不同的尺寸。 参见 matplotlib.patches.FancyArrowPatch 的属性 mutation_scale 以获取更多信息。

with_labelsbool (默认=True)

设置为 True 以在节点上绘制标签。

axMatplotlib Axes 对象, 可选

在指定的 Matplotlib 轴上绘制图。

nodelistlist (默认=list(G))

仅绘制指定的节点

edgelistlist (默认=list(G.edges()))

仅绘制指定的边

node_size标量或数组 (默认=300)

节点的大小。如果指定数组,则必须与 nodelist 长度相同。

node_color颜色或颜色数组 (默认=’#1f78b4’)

节点的颜色。可以是单个颜色或与 nodelist 长度相同的颜色序列。颜色可以是字符串或 0-1 之间的浮点数的 rgb(或 rgba)元组。如果指定数值,它们将使用 cmap 和 vmin,vmax 参数映射到颜色。参见 matplotlib.scatter 以获取更多细节。

node_shape字符串 (默认=’o’)

节点的形状。规范与 matplotlib.scatter 标记相同,可以是 ‘so^>v<dph8’ 之一。

alphafloat 或 None (默认=None)

节点和边的透明度

cmapMatplotlib 颜色映射, 可选

用于映射节点强度的颜色映射

vmin,vmaxfloat, 可选

节点颜色映射的最小值和最大值

linewidths标量或序列 (默认=1.0)

符号边框的线宽

widthfloat 或 float 数组 (默认=1.0)

边的线宽

edge_color颜色或颜色数组 (默认=’k’)

边的颜色。可以是单个颜色或与 edgelist 长度相同的颜色序列。颜色可以是字符串或 0-1 之间的浮点数的 rgb(或 rgba)元组。如果指定数值,它们将使用 edge_cmap 和 edge_vmin,edge_vmax 参数映射到颜色。

edge_cmapMatplotlib 颜色映射, 可选

用于映射边强度的颜色映射

edge_vmin,edge_vmaxfloat, 可选

边颜色映射的最小值和最大值

style字符串 (默认=实线)

边的线型,例如:’-’, ‘–’, ‘-.’, ‘:’ 或单词如 ‘solid’ 或 ‘dashed’。 (参见 matplotlib.patches.FancyArrowPatchlinestyle

labelsdictionary (默认=None)

节点标签,以节点为键的文本标签字典

font_sizeint (节点默认=12,边默认=10)

文本标签的字体大小

font_color颜色 (默认=’k’ 黑色)

字体颜色字符串。颜色可以是字符串或 0-1 之间的浮点数的 rgb(或 rgba)元组。

font_weight字符串 (默认=’normal’)

字体粗细

font_family字符串 (默认=’sans-serif’)

字体系列

label字符串, 可选

图例的标签

hide_ticksbool, 可选

隐藏坐标轴的刻度。当为 True (默认)时,刻度和刻度标签将从坐标轴中移除。要设置刻度和刻度标签为 pyplot 默认值,请使用 hide_ticks=False

kwds可选关键字

参见 networkx.draw_networkx_nodes(), networkx.draw_networkx_edges(), 和 networkx.draw_networkx_labels() 以获取可选关键字的描述。

Notes

对于有向图,箭头绘制在头部末端。可以通过关键字 arrows=False 关闭箭头。

Examples

>>> G = nx.dodecahedral_graph()
>>> nx.draw(G)
>>> nx.draw(G, pos=nx.spring_layout(G))  # 使用弹簧布局
>>> import matplotlib.pyplot as plt
>>> limits = plt.axis("off")  # 关闭坐标轴

另请参见 NetworkX 绘图示例: https://networkx.org/documentation/latest/auto_examples/index.html