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:

  1. 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”.
  2. 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.
  3. 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:

  1. Matteo 7,8
  2. Sara 9,7
  3. 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()