2012-11-07 12 views
7

Ho una tupla di coppie:Disegno di linee tra coppie in Python

pairs=[(3,6),(7,2),(8,5),(9,5),(5,13),(10,6),(6,1),(1,13),(11,2),(2,13),(12,4),(4,13)] 

Ciascuna coppia descrive una connessione tra due punti, cioè c'è una linea tra il punto 3 e punto 6.

Attualmente, facendo questo:

i=0 
for point in pairs: 
    i+=1 
    plt.plot(point,(i,i)) 
plt.show() 

mi sta dando linee rette tra ogni punto e la sua rispettiva destinazione:

Tuttavia, sto cercando per il collegamento di queste linee insieme per creare un grafico di "ponti", qualcosa sulla falsariga di:

Grazie!

+0

Dove hai preso '(3,3)' e '(6,6)' da? Non sono nella tua lista originale ... – Eric

+0

@Eric: il primo punto è (3,6), sta raddoppiando le cose ... – Sheena

+0

@Sheena: Sono sospettoso che quello sia un errore di battitura, dal momento che traccia le coordinate dove ' x == y' in tutti i casi non ha senso. – Eric

risposta

5

Utilizzando networkx,

import networkx as nx 
import matplotlib.pyplot as plt 

G = nx.Graph() 
edges = [ 
    (3,6),(7,2),(8,5),(9,5),(5,13),(10,6),(6,1),(1,13),(11,2),(2,13),(12,4),(4,13)] 

G.add_edges_from(edges) 
nx.draw(G) 
plt.show() 

cede enter image description here

+0

Non conoscevo la libreria networkx, grazie mille! – user1806984