当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NetworkX draw_networkx_edges用法及代码示例


本文简要介绍 networkx.drawing.nx_pylab.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图形

一个networkx图

pos字典

以节点为键、位置为值的字典。位置应该是长度为 2 的序列。

edgelist边元组的集合(默认=G.edges())

仅绘制指定的边

width浮点数或浮点数数组(默认=1.0)

边线宽度

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

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

style字符串或字符串数组(默认='solid')

边线样式,例如:‘-’、‘-’、‘-.’、‘:’或类似 ‘solid’ 或 ‘dashed’ 的文字。可以是单个样式,也可以是与边列表长度相同的一系列样式。如果指定的样式少于边,则样式将循环。如果给出的样式多于边,则样式将按顺序使用并且不会耗尽。此外,(offset, onoffseq) 元组可以用作样式而不是字符串。 (参见 matplotlib.patches.FancyArrowPatch linestyle)

alpha浮点数或无(默认=无)

边透明度

edge_cmapMatplotlib 颜色图,可选

用于映射边强度的颜色图

edge_vmin,edge_vmax浮点数,可选

边颜色图缩放的最小值和最大值

axMatplotlib 轴对象,可选

在指定的 Matplotlib 轴上绘制图形。

arrows布尔或无,可选(默认=无)

如果 None ,有向图使用 FancyArrowPatch 绘制箭头,而无向图通过 LineCollection 绘制边以提高速度。如果 True ,用 FancyArrowPatches (可弯曲且时尚)绘制箭头。如果 False ,使用 LineCollection (线性和快速)绘制边。

注意:箭头将与边颜色相同。

arrowstylestr (默认='-|>')

对于有向图和arrows==True 默认为“-|>”,

有关更多选项,请参见 matplotlib.patches.ArrowStyle

arrowsizeint(默认=10)

对于有向图,选择箭头长度和宽度的大小。有关更多信息,请参阅属性 mutation_scale matplotlib.patches.FancyArrowPatch

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.patches.FancyArrowPatch 的列表

如果arrows=True,则返回FancyArrowPatches的列表。如果 arrows=False ,则返回 LineCollection。如果arrows=None(默认值),则如果G是无向的,则返回LineCollection,否则返回FancyArrowPatches列表。

注意

对于有向图,箭头绘制在头端。可以使用关键字 arrows=False 或通过在末尾不带箭头的箭头样式来关闭箭头。

确保包含node_size 作为关键字参数;考虑到节点的大小绘制箭头。

无论arrows 的值如何或G 是否有方向,自环总是用 FancyArrowPatch 绘制。当arrows=Falsearrows=NoneG为无向时,不显式返回对应自循环的FancyArrowPatches。它们应该通过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 并不总是返回,但始终可以通过matplotlib.Axes 对象的patches 属性访问。

>>> 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]

另请参阅NetworkX 绘图示例,网址为https://networkx.org/documentation/latest/auto_examples/index.html

相关用法


注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.drawing.nx_pylab.draw_networkx_edges。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。