Rappresentazione grafica dei dati con Python – Matplotlib

APPUNTI, INFORMATICA, TUTORIAL

Quando si affrontano problemi di analisi dei dati è fondamentale avere la possibilità di osservare gli stessi in qualche forma grafica, pertanto in questa serie di  articoli proverò ad illustrare come disegnare, in modo semplice, dei grafici  utilizzando python ed alcune librerie create per lo scopo.

Per  gli esempi successivi userò Jupyter  notebook, pertanto se non sapete di cosa si tratta  vi invito a dare un occhio a questo articolo. Una possibile  alternativa potrebbe essere  colab di google.

Bene se avete già provveduto ad istallare Jupyter iniziate a creare un nuovo notebook altrimenti vi consiglio di fare un passo indietro ed  installare il software per seguire  l’esempio step by step.

Creazione del progetto Jupyter notebook

Aprite una shell, create una nuova directory e lanciate il comando jupyter notebook

mkdir MATPLOTLIB
cd MATPLOTLIB/
jupyter notebook

si aprirà un finestra del tuo browser

a questo punto selezionate l’interprete Python 3 per inizializzare l’ambiente

La prima libreria che andremo a studiare è:

Matplotlib

Matplotlib è una libreria con cui è possibile disegnare grafici 2d e 3d.  Per usarla la prima cosa che dobbiamo fare è importarla, e nel farlo sfrutteremo pyplot che offre un’interfaccia di programmazione simile a MATLAB.

import matplotlib.pyplot as plt

importiamo anche una libreria matematica molto potente numpy

import numpy as np

scegliamo una funzione da graficare

def retta(x):
   return 4*x+1

indichiamo che le x possono variare da 0 a 100

x=np.arange(100)

costruiamo la retta

y=retta(x)

tracciamo il grafico

plt.plot(x,y)

 

per completezza riporto l’esempio in jupyter.

 

proviamo a fare lo stesso esempio ma con un grafico un pò più complesso

import matplotlib.pyplot as plt

import numpy as np

def f(x):
   return 20 + 105*np.cos(x)*np.sin(x+30) + 144*np.exp(0.5/x+1)

x=np.arange(-100,100)

y=f(x)

plt.plot(x,y)

cerchiamo di approfondire le possibilità offerte da  pyplot.

Per cambiare colore ai grafici possiamo usare l’istruzione:

plt.plot(x,y, color="<color_RGB>")

ad esempio

plt.plot(x, y, color='3412F3')

per cambiare il range degli assi posso utilizzare le istruzioni:

plt.xlim(left_x,right_x) oppure plt.ylim(bottom_y,top_y)

ad esempio

plt.xlim(-10,76)
plt.ylim(-100,600)
plt.plot(x, y)

se volessimo, invece, ad esempio tracciare un grafico con linea  tratteggiata o punteggiata potremmo usare il parametro linestyle=”dashed” o linestyle=”dotted” ad esempio:

plt.plot(x,y,linestyle="dashed")

Se volessimo usare dei marker potremmo usare  il parametro marker=’o’

plt.plot(x,y, marker='o')

per aggiungere delle informazioni agli assi o una legenda possiamo usare le seguenti istruzioni:

plt.plot(x,y,label="y=f(x)")
plt.title("esempio di grafico")
plt.xlabel("andamento delle x")
plt.ylabel("andamento della f(x)")
plt.legend()

Per disegnare più grafici possiamo seguire il seguente approccio:

  • definiamo le funzioni da graficare,
  • definiamo il range delle x
  • “plottiamo” i grafici ripetendo il comando plot per il numero delle funzioni da rappresentare.
import matplotlib.pyplot as plt
import numpy as np

def f(x):
   return 20 + 105*np.cos(x)*np.sin(x+30) + 144*np.exp(0.5/x+1)

def retta(x): 
   return 4*x+1

x=np.arange(-100,100)
plt.plot(x,f(x))
plt.plot(x,retta(x))

Ovviamente è possibile usare i vari parametri in un unica istruzione, ad esempio per rappresentare una funzione di colore viola, con marker circolari e  stile della linea tratteggiata possiamo scrivere:

plt.plot(x, y, color='#8712F3', marker='o', linestyle='dashed', linewidth=2, markersize=12)

Rappresentazione grafica dei dati con Python – Matplotlib : Seconda Parte>>

Comments