Grafici con matplotlib 1

Guida completa: matplotlib.pyplot.plot

Caricare il modulo definendo una breve stringa di caratteri per richiamare in tutto il programma. Tipicamente si usa plt

In [1]:
%matplotlib inline
import matplotlib.pyplot as plt

Serie di dati in una lista

In [2]:
x = [1,2,3,4,5,6]
y = [10,45,32,23,76,33]

Plot di x vs y

In [3]:
plt.plot(x,y)
plt.show()

Ritocchi grafici

In [4]:
plt.plot(x,y,'r--o')
plt.show()

'r' sta per colore rosso, '--' sta per linea tratteggiata, 'o' sta per pallini)

Opzioni grafiche per la linea in Line2D

Opzioni per i marker in markers

Dati sovrapposti (diversi comandi plot())

In [5]:
x = [1,2,3,4,5,6]
y = [10,45,32,23,76,33]
z = [9, 22, 19, 54, 22, 81]

plt.plot(x,y,'r--o')   # -- linea tratteggiata, o pallino
plt.plot(x,z,'b-^')    # -  linea continua, ^ triangolo up
plt.show()

Aggiunta di una legenda (è necessario che le serie di dati abbiano una label)

In [6]:
x = [1,2,3,4,5,6]
y = [10,45,32,23,76,33]
z = [9, 22, 19, 54, 22, 81]

plt.plot(x,y,'r--o', label='mele')
plt.plot(x,z,'b-^',  label='pere')
plt.legend()
plt.show()

Aggiunta di titolo e assi

In [7]:
x = [1,2,3,4,5,6]
y = [10,45,32,23,76,33]
z = [9, 22, 19, 54, 22, 81]

plt.plot(x,y,'r--o', label='mele')
plt.plot(x,z,'b-^',  label='pere')
plt.title('Un bel grafico')
plt.xlabel('Asse x')
plt.ylabel('Asse y')
plt.legend()
plt.show()

Serie diverse in figure diverse (uso di subplot()) subplot(NML) piazza il plot nel posto L-esimo in una griglia NxM Ad esempio, per 2 plot uno sopra l'altro (griglia 2x1)

In [8]:
x = [1,2,3,4,5,6]
y = [10,45,32,23,76,33]
z = [9, 22, 19, 54, 22, 81]

plt.subplot(211) # primo posto nella griglia 2x1
plt.plot(x,y,'r--o', label='mele')
plt.title('Un bel grafico')
plt.xlabel('Asse x')
plt.ylabel('Asse y')
plt.subplot(212) # secondo posto nella griglia 2x1
plt.plot(x,z,'b-^',  label='pere')

plt.show()

Altro esempio di suddivisione:

In [9]:
x = [1,2,3,4,5,6]
y = [10,45,32,23,76,33]
z = [9, 22, 19, 54, 22, 81]
h = [18, 65, 76, 34, 87, 12]


plt.subplot(211)      # primo posto in una griglia 2x1 (ALTO)
plt.plot(x,y,'r--o')
plt.ylabel('Asse y')
plt.subplot(223)      # terzo posto in una griglia 2x2 (BASSO-SX)
plt.plot(x,z,'b-^')
plt.subplot(224)      # quarto posto in una griglia 2x2 (BASSO-DX)
plt.plot(x,h,'g<:')   # g per green, < per triangolo verso sx, : per linea a punti

plt.show()

Grafici con errore (errorbar)

In [10]:
x = [1,2,3,4,5,6]
y = [10,45,32,23,76,33]

yerr = [yel*0.1 for yel in y]

a = plt.errorbar(x,y,yerr)

plt.show()