當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。