title: How to set NetworkX edge labels offset? (to avoid label overlap)
body: <p>I am trying to add edge labels for a graph. It all works well, only problem is when the two edges intersect - I only see one of the labels as they happen to overlap.</p>
  
  <p><img src="https://dl.dropbox.com/u/7395199/no_remove/graph.png" alt="example"></p>
  
  <p>As you can see the hphob-alpha label is shown but the polarity-beta label is not shown (my guess is that it is right under the previously mentioned).</p>
  
  <p>I could not find any documentation on how to re-position the labels, any advice how to set some kind of offset to move the labels?</p>
  
  <p>Code used to generate the graph:</p>
  
  <pre><code>try:
      import matplotlib.pyplot as plt
  except:
      raise
  
  import networkx as nx
  
  G=nx.Graph()
  
  a="hphob"
  b="polarity"
  c="alpha"
  d="beta"
  G.add_edge(a,b,weight=0.5)
  G.add_edge(b,c,weight=0.5)
  G.add_edge(c,d,weight=0.5)
  G.add_edge(a,d,weight=0.5)
  G.add_edge(a,c,weight=0.5)
  G.add_edge(b,d,weight=0.5)
  
  pos=nx.spring_layout(G) # positions for all nodes
  
  # nodes
  nx.draw_networkx_nodes(G,pos,node_size=7000, node_color="white")
  
  # edges
  nx.draw_networkx_edges(G,pos,
          width=6,alpha=0.5,edge_color='black')
  
  
  # labels
  nx.draw_networkx_labels(G,pos,font_size=20,font_family='sans-serif')
  
  nx.draw_networkx_edge_labels(G,pos, 
      {
          (a,b):"x", (b,c):"y", (c,d):"w", (a,d):"z", (a,c):"v", (b,d):"r"
      }
  )
  
  plt.axis('off')
  plt.savefig("weighted_graph.png") # save as png
  plt.show() # display
  </code></pre>