title: Curved edges in NetworkX
body: <p>I currently have the following code for my <code>networkx</code> graph:</p>
  <pre class="lang-py prettyprint-override"><code>import matplotlib.pyplot as plt
  import networkx as nx
  
  
  g = nx.Graph()
  # add edges
  g.add_edge(&quot;a&quot;, &quot;b&quot;, weight=0.6)
  g.add_edge(&quot;a&quot;, &quot;c&quot;, weight=0.2)
  g.add_edge(&quot;c&quot;, &quot;d&quot;, weight=0.1)
  g.add_edge(&quot;c&quot;, &quot;e&quot;, weight=0.7)
  g.add_edge(&quot;c&quot;, &quot;f&quot;, weight=0.9)
  g.add_edge(&quot;a&quot;, &quot;d&quot;, weight=0.3)
  # group edges by attribute &quot;weight&quot;
  elarge = [
      (u, v) for (u, v, d) in g.edges(data=True)
      if d[&quot;weight&quot;] &gt; 0.5]
  esmall = [
      (u, v) for (u, v, d) in g.edges(data=True)
      if d[&quot;weight&quot;] &lt;= 0.5]
  # compute the positions of nodes
  pos = nx.circular_layout(g)
  # plot the graph nodes
  nx.draw_networkx_nodes(g, pos, node_size=700)
  # plot the graph edges
  nx.draw_networkx_edges(g, pos, edgelist=elarge, width=6)
  nx.draw_networkx_edges(
      g, pos, edgelist=esmall, width=6,
      alpha=0.5, edge_color=&quot;b&quot;, style=&quot;dashed&quot;)
  # annotate the nodes
  nx.draw_networkx_labels(
      g, pos, font_size=20, font_family=&quot;sans-serif&quot;)
  # graphics config
  plt.axis(&quot;off&quot;)
  plt.show()  # wait before exiting
  </code></pre>
  <p>which has the following output:<a href="https://i.stack.imgur.com/jTfUs.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/jTfUs.png" alt="enter image description here" /></a></p>
  <p>But what I want is for the connecting lines to be curved not straight. I couldn't find a line style in <code>matplotlib</code> that allows me to do that.</p>