Matplotlib: la libreria Python per la Data Visualization

Matplotlib è una libreria di plotting per il linguaggio di programmazione Python che permette di creare grafici statici, animati e interattivi. È una delle librerie più popolari e utilizzate per la visualizzazione dei dati in Python, grazie alla sua flessibilità e alla vasta gamma di grafici che può generare. La libreria è stata originariamente creata da John D. Hunter nel 2003, e da allora ha visto una crescita costante e una comunità attiva di sviluppatori e utenti.

Installazione di Matplotlib in Python

Per installare Matplotlib, è sufficiente utilizzare pip, il gestore di pacchetti di Python. L’installazione è semplice e rapida, rendendo Matplotlib accessibile a chiunque abbia una base di Python installata sul proprio sistema. 

Riga di codice: pip install matplotlib

Creazione di Grafici di Base

Una delle principali caratteristiche di Matplotlib è la sua facilità d’uso per la creazione di grafici di base. Di seguito, presenteremo alcuni esempi di grafici che è possibile realizzare. Per ciascun esempio, forniremo i relativi codici HTML da scaricare per poterli replicare.

1. Line Chart

Ad esempio, per creare un grafico a linee, è sufficiente fornire i dati per gli assi x e y, e il gioco è fatto. Questa facilità d’uso permette anche ai principianti di iniziare rapidamente con la visualizzazione dei dati.

				
					import matplotlib.pyplot as plt

# Dati di esempio
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# Creazione del grafico
plt.plot(x, y)
plt.title("Grafico a Linee")
plt.xlabel("Asse X")
plt.ylabel("Asse Y")
plt.show()
				
			
Grafico a linee
Grafico a Linee

2. Bar Chart

I grafici a barre sono utili per confrontare quantità tra diverse categorie. Con Matplotlib, creare un grafico a barre è semplice quanto definire le categorie e i valori associati. Questo tipo di grafico è particolarmente utile nelle analisi di dati categoriali.

				
					import matplotlib.pyplot as plt

# Dati di esempio
categorie = ['A', 'B', 'C', 'D', 'E']
valori = [5, 7, 3, 8, 6]

# Creazione del grafico a barre
plt.bar(categorie, valori)
plt.title("Grafico a Barre")
plt.xlabel("Categorie")
plt.ylabel("Valori")
plt.show()
				
			
grafico a barre matplotlib python
Grafico a Barre

3. Istogramma

Gli istogrammi rappresentano la distribuzione di un insieme di dati continui. Sono fondamentali per capire la frequenza di occorrenza dei valori in un dataset. Con Matplotlib, la creazione di un istogramma richiede solo pochi passaggi, rendendo questa tecnica di analisi facilmente accessibile.

				
					import matplotlib.pyplot as plt
import numpy as np

# Dati di esempio
data = np.random.randn(1000)

# Creazione dell'istogramma
plt.hist(data, bins=30, edgecolor='black')
plt.title("Istogramma")
plt.xlabel("Valori")
plt.ylabel("Frequenza")
plt.show()
				
			
istogramma
Istogramma

4. Scatter Plot

I grafici a dispersione sono utilizzati per visualizzare la relazione tra due variabili. Questo tipo di grafico è molto utile in statistica e machine learning per identificare correlazioni o pattern tra le variabili. Matplotlib rende semplice la creazione di grafici a dispersione, permettendo di visualizzare chiaramente le relazioni nei dati.

				
					import matplotlib.pyplot as plt

# Dati di esempio
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y = [2, 4, 5, 7, 6, 9, 11, 12, 10, 15]

# Creazione del grafico a dispersione
plt.scatter(x, y)
plt.title("Grafico a Dispersione")
plt.xlabel("Asse X")
plt.ylabel("Asse Y")
plt.show()
				
			
grafico a dispersione
Grafico a Dispersione

Personalizzazione dei Grafici

Una delle caratteristiche più potenti di Matplotlib è la possibilità di personalizzare i grafici. È possibile modificare colori, stili di linea, aggiungere etichette e annotazioni, e molto altro ancora. Questa flessibilità consente di creare grafici che non solo presentano i dati, ma lo fanno in modo visivamente accattivante e professionale.

				
					import matplotlib.pyplot as plt

# Dati di esempio
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

# Creazione del grafico con personalizzazioni
plt.plot(x, y, linestyle='--', color='r', marker='o')
plt.title("Grafico a Linee Personalizzato")
plt.xlabel("Asse X")
plt.ylabel("Asse Y")
plt.grid(True)
plt.show()
				
			
grafico a linee personalizzato matplotlib python
Grafico a Linee Personalizzato

Grafici 3D

Matplotlib supporta anche la creazione di grafici tridimensionali (3D), grazie al modulo mpl_toolkits.mplot3d. I grafici 3D sono utili per visualizzare dati che hanno tre dimensioni, come superfici o scatter plot 3D. Questi grafici possono offrire una prospettiva aggiuntiva e una comprensione più profonda delle relazioni nei dati. La creazione di grafici 3D in Matplotlib è relativamente semplice e segue una sintassi simile ai grafici 2D.

				
					import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

# Creazione dei dati
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
x, y = np.meshgrid(x, y)
z = np.sin(np.sqrt(x**2 + y**2))

# Creazione del grafico 3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(x, y, z, cmap='viridis')

ax.set_title("Grafico a Superficie 3D")
ax.set_xlabel("Asse X")
ax.set_ylabel("Asse Y")
ax.set_zlabel("Asse Z")

plt.show()
				
			
grafico 3d matplotlib python
Grafico 3D

In questo esempio, abbiamo utilizzato np.meshgrid per creare una griglia di valori per gli assi X e Y e calcolato i valori Z come una funzione di X e Y. Il metodo plot_surface di Axes3D è quindi utilizzato per creare la superficie 3D. Il risultato è un grafico tridimensionale che rappresenta una funzione matematica in modo visivamente accattivante.

Conclusione

Matplotlib è una libreria potente e versatile per la visualizzazione dei dati in Python. La sua semplicità di utilizzo e la vasta gamma di funzionalità la rendono una scelta ideale per chiunque abbia bisogno di creare grafici per l’analisi dei dati. Con pochi comandi, è possibile creare grafici efficaci e professionali, personalizzandoli secondo le proprie esigenze. La comunità attiva e la vasta documentazione disponibile rendono Matplotlib un’ottima risorsa per analisti di dati, ricercatori e sviluppatori.

Leggi tutti i nostri articoli sulla Data Tech

Vuoi scopri le ultime novità su Fivetran e nuove tecnologie di data science?

Visualitics Team
Questo articolo è stato scritto e redatto da uno dei nostri consulenti. 

Condividi ora sui tuoi canali social o via email: