draw_networkx_edges#
- draw_networkx_edges(G, pos, edgelist=None, width=1.0, edge_color='k', style='solid', alpha=None, arrowstyle='-|>', arrowsize=10, edge_cmap=None, edge_vmin=None, edge_vmax=None, ax=None, arrows=None, label=None, node_size=300, nodelist=None, node_shape='o', connectionstyle='arc3', min_source_margin=0, min_target_margin=0)[源代码]#
绘制图G的边。
这只绘制图G的边。
- 参数
- G图表
网络X图
- pos词典
以节点为键,以位置为值的字典。位置应该是长度为2的序列。
- edgelist边元组的集合(默认为G.Edge())
仅绘制指定的边
- width浮点数或浮点数组(默认值=1.0)
边线宽
- edge_color颜色或颜色数组(默认为‘k’)
边缘颜色。可以是单一颜色,也可以是与Edgelist长度相同的一系列颜色。颜色可以是0-1之间的字符串或RGB(或RGBA)浮点数元组。如果指定了数值,它们将使用edge_Cmap和edge_vmin、edge_vmax参数映射到颜色。
- style字符串或字符串数组(默认为‘Solid’)
边线样式,例如:‘-’、‘--’、‘-.’、‘:’或诸如‘实心’或‘虚线’之类的单词。可以是单个样式,也可以是长度与边缘列表相同的一系列样式。如果给定的样式少于边数,则样式将循环。如果给定的样式多于边缘,则这些样式将按顺序使用,并且不会被耗尽。另外,
(offset, onoffseq)
元组可以用作样式,而不是字符串。(请参阅matplotlib.patches.FancyArrowPatch
:linestyle
)- alpha浮动或无(默认值=无)
边缘透明度
- edge_cmapMatplotlib色彩映射表,可选
用于映射边缘强度的颜色映射表
- edge_vmin,edge_vmax浮点数,可选
边缘色彩贴图缩放的最小值和最大值
- axMatplotlib轴对象,可选
在指定的Matplotlib轴上绘制图形。
- arrows布尔或无,可选(默认值=无)
如果
None
,有向图用来绘制箭头FancyArrowPatch
,而无向图通过以下方式绘制边LineCollection
为了速度。如果True
,使用FancyArrowPatches绘制箭头(可弯曲且时尚)。如果False
,使用LineCollection绘制边(线性且快速)。注意:箭头的颜色将与边缘相同。
- arrowstyle字符串(默认=‘-|>’)
对于有向图和
arrows==True
默认为‘-|>’,看见
matplotlib.patches.ArrowStyle
以获得更多选择。- arrowsizeINT(默认值=10)
对于有向图,选择箭头的长度和宽度的大小。看见
matplotlib.patches.FancyArrowPatch
对于属性mutation_scale
了解更多信息。- connectionstyle字符串(默认为“arc3”)
传递ConnectionStyle参数以创建舍入半径rad的曲线圆弧。例如,Connectionstyle=‘arc3,rad=0.2’。看见
matplotlib.patches.ConnectionStyle
和matplotlib.patches.FancyArrowPatch
了解更多信息。- node_size标量或数组(默认为300)
节点的大小。虽然节点不是使用此功能绘制的,但节点大小用于确定边定位。
- nodelist列表,可选(默认为G.Nodes())
这将为
node_size
数组(如果它是数组)。- node_shape字符串(默认值=‘o’)
用于节点的标记,用于确定边定位。规范是作为一个
matplotlib.markers
标记,例如‘so^>v<dph8’之一。- label无或字符串
图例的标签
- min_source_marginINT(默认值=0)
源边起始处的最小边距(间隙)。
- min_target_marginINT(默认值=0)
目标处边缘末端的最小边距(间隙)。
- 返回
- Matplotlib.colections.LineCollection或matplotlib.patchs.FancyArrowPatch的列表
如果
arrows=True
,则返回FancyArrowPatches的列表。如果arrows=False
,则返回LineCollection。如果arrows=None
(默认),则在以下情况下返回LineCollectionG
是无定向的,否则返回FancyArrowPatch列表。
笔记
对于有向图,箭头在头端绘制。可以使用关键字ARROWS=FALSE或通过传递末尾没有箭头的箭头样式来关闭箭头。
一定要包括
node_size
作为关键字参数;根据节点的大小绘制箭头。自环总是用来绘制的
FancyArrowPatch
不管值多少arrows
或者是否G
是导演的。什么时候arrows=False
或arrows=None
和G
是非定向的,则不会显式返回与自循环对应的FancyArrowPatch。而应通过Axes.patches
属性(请参见示例)。实例
>>> G = nx.dodecahedral_graph() >>> edges = nx.draw_networkx_edges(G, pos=nx.spring_layout(G))
>>> G = nx.DiGraph() >>> G.add_edges_from([(1, 2), (1, 3), (2, 3)]) >>> arcs = nx.draw_networkx_edges(G, pos=nx.spring_layout(G)) >>> alphas = [0.3, 0.4, 0.5] >>> for i, arc in enumerate(arcs): # change alpha values of arcs ... arc.set_alpha(alphas[i])
与自循环对应的FancyArrowPatches并不总是返回,但始终可以通过
patches
属性的属性。matplotlib.Axes
对象。>>> import matplotlib.pyplot as plt >>> fig, ax = plt.subplots() >>> G = nx.Graph([(0, 1), (0, 0)]) # Self-loop at node 0 >>> edge_collection = nx.draw_networkx_edges(G, pos=nx.circular_layout(G), ax=ax) >>> self_loop_fap = ax.patches[0]
另请参阅https://networkx.org/documentation/latest/auto_examples/index.html上的NetworkX绘图示例