Come disegnare una linea in python con matplotlib
Per disegnare una linea, un segmento o una retta sul grafico di un piano cartesiano a due dimensioni, in Python utilizzo la funzione pyplot.plot() di matplotlib.
plot([x1,x2],[y1,y2])
show()
Sapendo che ogni retta è definita da due punti, uno iniziale e uno finale, con coordinate (x,y).
- Nel primo argomento indico le coordinate x sull'asse delle ascisse del punto iniziale e finale del segmento.
- Nel secondo argomento, invece, indico le coordinate y sull'asse delle ordinate del punto iniziale e finale
Il metodo plot() traccia un segmento dal punto (x1,y1) al punto (x2,y2).
Il metodo show() visualizza il grafico sullo schermo.
Un esempio pratico
Importo il pacchetto di metodi e funzioni pyplot dal modulo matplotlib
from matplotlib import pyplot as plt
Poi creo le variabili delle coordinate del punto iniziale e terminale della linea.
x1=2
y1=3
x2=6
y2=7
Definisco il limite del piano da 0 a 10 sia sulle ascisse che sulle ordinate.
plt.xlim(0, 10)
plt.ylim(0, 10)
A questo punto, traccio la linea sul grafico indicando il punto iniziale (x1,y1) e finale (x2,y2) con il metodo plot().
I parametri vanno indicati come liste. Prima la lista delle ascisse, poi quella delle ordinate.
plt.plot([x1,x2],[y1,y2])
Infine, visualizzo sullo schermo il grafico con la funzione show()
plt.show()
Ho così tracciato una linea sul grafico.
Volendo posso anche impostare un colore diverso.
Basta indicarlo con l'attributo color nella funzione plot().
plt.plot([x1,x2],[y1,y2], color="red")
La linea diventa rossa.
Nota. Ecco i parametri degli altri colori principali.: blue(b), green(g), red(r), cyan(c), magenta(m) , yellow(y), black(k), white(w). Per definire un colore specifico posso usare la stringa in esadecimale ( es. "#009010" ).
Posso modificare il tipo di linea con l'attributo linestyle.
plt.plot([x1,x2],[y1,y2], linestyle="solid")
Ecco le principali tipologie di linee: solid ("-"), dashed ("--"), dash-dot ("-."), dotted (":").
Posso anche indicare un tipo di marker per il punto iniziale e terminale della linea con l'attributo marker.
plt.plot([x1,x2],[y1,y2], marker="x")
Ecco alcune tipologie di punti tra cui scegliere: circolare ("o"), quadrato ("s"), triangolo verso il basso ("v"), a forma di ics ("x"), punto semplice (".") e molti altri ancora
Indicando una lista X e Y con più valori, posso disegnare anche una serie di linee spezzate.
plt.plot([x1,x2,x3,x4],[y1,y2,y3,y4], linestyle="solid")
In questo caso i punti sono uniti tra loro da una linea continua.
Per far vedere solo i punti, senza le linee spezzate, basta indicare linestyle="" anziché solid.
E così via.