La libreria “matplotlib” consente di fare grafici con Python dei dati in nostro possesso: istogrammi, torte e linee spezzate. La libreria funziona così:
import matplotlib.pyplot as plt # si importa la libreria e la si richiama con l’alias plt
x = [1, 2, 3, 4, 5] # si fa una lista dei valori sulle ascisse
y = [2, 4, 1, 6, 8] # si fa una lista dei valori sulle ordinate
plt.plot(x, y, marker=’o’, color=’green’) # si stampano i punti e i segmenti interpolanti
plt.title(“Titolo grafico”) # titolo grafico
plt.xlabel(“Asse X”) # titolo asse x
plt.ylabel(“Asse Y”) # titolo asse y
plt.show()

ESERCIZI: Fate dei grafici con MATPLOT con questi dati:
- Troppi caffè: durante la settimana ho consumato 2,4,1,6,8,4,3 caffè. Fate un grafico del nervosismo con una linea spezzata e inserite “Consumo caffè” come titolo, Sull’asse delle X l’etichetta “Giorni” e sull’altro “Tazzine”.
- La pizza che bontà: Fate un grafico a torta con il gradimento dei seguenti tipi di pizza: Margherita 40, Diavola 30, Patatine 20, Ortolana 10.
- Videogame: fate un grafico ad istogramma dei seguenti videogame valutati per gradimento: Minecraft 10, Fortnite 8, Roblox 15, Among us 5
Per rendere i grafici subito bellissimi e più “attraenti”, dì loro di aggiungere questa riga all’inizio del codice: plt.xkcd()
Esercizio 1
import matplotlib.pyplot as plt
plt.xkcd()
x = [1, 2, 3, 4, 5,6,7] # I giorni della settimana
y = [2,4,1,6,8,4,3] # Quanti caffè hai consumato
plt.plot(x, y, marker=’o’, color=’blue’) # ‘o’ mette il pallino sui punti
plt.title(“Consumo di caffè”)
plt.xlabel(“Giorni”)
plt.ylabel(“Tazzine”)
plt.show()


Esercizio 2
import matplotlib.pyplot as plt
plt.xkcd()
fette = [40, 30, 20, 10]
gusti = [‘Margherita’, ‘Diavola’, ‘Patatine’, ‘Verdure’]
plt.pie(fette, labels=gusti, autopct=’%1.1f%%’, startangle=90)
plt.title(“La pizza preferita della classe”)
plt.show()


Esercizio 3
import matplotlib.pyplot as plt
plt.xkcd()
giochi = [‘Minecraft’, ‘Fortnite’, ‘Roblox’, ‘Among Us’]
voti = [10, 8, 15, 5]
plt.bar(giochi, voti, color=’orange’)
plt.title(“Videogiochi più giocati”)
plt.show()


Altri esercizi.
Graficare con linea spezzata le temperature di Roma e Milano nei giorni 1,2,3,4,5 Marzo 2024. meteo_roma = 15, 18, 14, 20, 22 meteo_milano = 10, 12, 11, 13, 15.

soluzione: —————————————————————————————————————–
import matplotlib.pyplot as plt
giorni = [1, 2, 3, 4, 5]
meteo_roma = [15, 18, 14, 20, 22]
meteo_milano = [10, 12, 11, 13, 15]
plt.plot(giorni, meteo_roma, label=’Roma’, color=’red’, marker=’o’)
plt.plot(giorni, meteo_milano, label=’Milano’, color=’blue’, marker=’s’)
plt.title(“Confronto Temperature”)
plt.legend() # Questo mostra la “legenda” per capire quale linea è quale
plt.show()

Matteo Sara e Luca hanno preso questi voti in Italiano e Matematica:
- Matteo 7,8
- Sara 9,7
- Luca 6,9
Fare un grafico a barre con i tre alunni sull’asse X e i voti su Y


import matplotlib.pyplot as plt
nomi = [‘Livello 1’, ‘Livello 2’, ‘Livello 3′]
punti_luca = [10, 15, 12]
punti_sara = [8, 18, 14]
# Disegniamo le prime barre (solide ma un po’ trasparenti)
plt.bar(nomi, punti_luca, color=’blue’, alpha=0.5, label=’Luca’, edgecolor=’black’)
# Disegniamo le seconde barre (con il tratteggio ‘X’ e bordo più spesso)
plt.bar(nomi, punti_sara, color=’none’, edgecolor=’red’, hatch=’//’, linewidth=2, label=’Sara’)
plt.title(“Sfida ai Videogiochi: Luca vs Sara”)
plt.legend()
plt.show()