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