2013-02-05 17 views
37

Sto usando python e matplotlib per generare output grafico.
C'è un modo semplice per generare uno stile di linea puntino-punto-punto?
Sono a conoscenza delle opzioni '--', '-.' e ':'. Sfortunatamente, '-..' non risulta in una linea punto-punto-punto.
Ho esaminato il comando set_dashes, ma sembra che controlli la lunghezza dei trattini e lo spazio tra due trattini adiacenti.
Un'opzione potrebbe essere quella di tracciare due linee una sopra l'altra; uno tratteggiato con ampio spazio tra i trattini - e uno punteggiato, con i punti grandi come i trattini sono larghi e distanziati in modo che due punti sono tra ogni trattino. Non dubito che questo possa essere fatto, sto semplicemente sperando in un modo più semplice.
Ho trascurato un'opzione?python matplotlib dash-dot-dot - come?

risposta

55

È possibile definire custom dashes:

import matplotlib.pyplot as plt 

line, = plt.plot([1,5,2,4], '-') 
line.set_dashes([8, 4, 2, 4, 2, 4]) 
plt.show() 

enter image description here

[8, 4, 2, 4, 2, 4] significa

  • 8 punti, (trattino)
  • 4 punti fuori,
  • 2 punti, (punto)
  • 4 punti off,
  • 2 punti, (punto)
  • 4 punti off.

@Achim notato è anche possibile specificare il parametro dashes:

plt.plot([1,5,2,4], '-', dashes=[8, 4, 2, 4, 2, 4]) 
plt.show() 

produce lo stesso risultato mostrato sopra.

Problemi correlati