This documents the development version of NetworkX. Documentation for the current release can be found here.


draw_networkx_edges(G, pos, edgelist=None, width=1.0, edge_color='k', style='solid', alpha=None, arrowstyle=None, 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)[source]

Draw the edges of the graph G.

This draws only the edges of the graph G.

  • G (graph) – A networkx graph

  • pos (dictionary) – A dictionary with nodes as keys and positions as values. Positions should be sequences of length 2.

  • edgelist (collection of edge tuples) – Draw only specified edges(default=G.edges())

  • width (float, or array of floats) – Line width of edges (default=1.0)

  • edge_color (color or array of colors (default=’k’)) – Edge color. Can be a single color or a sequence of colors with the same length as edgelist. Color can be string, or rgb (or rgba) tuple of floats from 0-1. If numeric values are specified they will be mapped to colors using the edge_cmap and edge_vmin,edge_vmax parameters.

  • style (string) – Edge line style (default=’solid’) (solid|dashed|dotted,dashdot)

  • alpha (float) – The edge transparency (default=None)

  • edge_ cmap (Matplotlib colormap) – Colormap for mapping intensities of edges (default=None)

  • edge_vmin,edge_vmax (floats) – Minimum and maximum for edge colormap scaling (default=None)

  • ax (Matplotlib Axes object, optional) – Draw the graph in the specified Matplotlib axes.

  • arrows (bool, optional (default=True)) – For directed graphs, if True draw arrowheads by default. Ignored if arrowstyle is passed.

    Note: Arrows will be the same color as edges.

  • arrowstyle (str, optional (default=None)) – For directed graphs and arrows==True defaults to '-|>' otherwise defaults to '-'.

    See matplotlib.patches.ArrowStyle for more options.

  • arrowsize (int, optional (default=10)) – For directed graphs, choose the size of the arrow head head’s length and width. See matplotlib.patches.FancyArrowPatch for attribute mutation_scale for more info.

  • connectionstyle (str, optional (default=”arc3”)) – Pass the connectionstyle parameter to create curved arc of rounding radius rad. For example, connectionstyle=’arc3,rad=0.2’. See matplotlib.patches.ConnectionStyle and matplotlib.patches.FancyArrowPatch for more info.

  • label ([None| string]) – Label for legend

  • min_source_margin (int, optional (default=0)) – The minimum margin (gap) at the begining of the edge at the source.

  • min_target_margin (int, optional (default=0)) – The minimum margin (gap) at the end of the edge at the target.


FancyArrowPatch instances of the directed edges

Return type

list of matplotlib.patches.FancyArrowPatch


For directed graphs, arrows are drawn at the head end. Arrows can be turned off with keyword arrows=False or by passing an arrowstyle without an arrow on the end.

Be sure to include node_size as a keyword argument; arrows are drawn considering the size of nodes.


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

Also see the NetworkX drawing examples at