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.FancyArrowPatch
:linestyle
)- 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() 以获取可选关键字的描述。
See also
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