draw_networkx#

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

使用 Matplotlib 绘制图 G。

使用 Matplotlib 绘制图,提供节点位置、标签、标题和许多其他绘图功能的选项。有关不带标签或坐标轴的简单绘图,请参见 draw()。

参数:
G

一个 networkx 图

pos字典, 可选

一个以节点为键、位置为值的字典。如果未指定,将计算一个弹簧布局位置。有关计算节点位置的函数,请参见 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 axes 中绘制图。

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_vmaxfloats, 可选

用于边颜色映射缩放的最小值和最大值

style字符串 (默认值=实线)

边的线型,例如:‘-’, ‘–’, ‘-.’, ‘:’ 或诸如 ‘solid’ 或 ‘dashed’ 的词。(参见 matplotlib.patches.FancyArrowPatch: linestyle)

labels字典 (默认值=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()。

注意

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

示例

>>> G = nx.dodecahedral_graph()
>>> nx.draw(G)
>>> nx.draw(G, pos=nx.spring_layout(G))  # use spring layout
>>> import matplotlib.pyplot as plt
>>> limits = plt.axis("off")  # turn off axis

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