Menu
CoddyTech

Grafici a barre

Fa parte della sezione Dati e grafici del percorso Machine Learning di Coddy. Lezione 26 di 60.

Questo capitolo trasforma i dati in riepiloghi. Alla fine, realizzerai un report con due grafici come questo:

Due grafici affiancati: un grafico a barre delle precipitazioni medie per ogni giorno della settimana, con il giovedì come giorno più piovoso, e un istogramma delle precipitazioni giornaliere, dove nella maggior parte dei giorni piove pochissimo

Si parte dalle barre. I gusti non hanno un ordine, quindi una linea da uno all'altro non significa nulla. ax.bar(categories, values) disegna una barra per ogni categoria:

flavors = ["Chocolate", "Vanilla", "Mint", "Mango"]
sold = [42, 27, 15, 21]
fig, ax = plt.subplots()
ax.bar(flavors, sold)
ax.set_title("Scoops Sold")
ax.set_ylabel("Scoops")
plt.show()

Un grafico a barre intitolato Coppette vendute con quattro barre: Cioccolato 42, Vaniglia 27, Menta 15, Mango 21

Le barre partono da 0, quindi le altezze si confrontano direttamente: il 42 del cioccolato è il doppio del 21 del mango. Prima di addestrare un modello, le barre che mostrano quanto spesso compare ciascuna risposta indicano se una prevale.

challenge icon

Sfida

Medio

48 studenti hanno detto come arrivano a scuola. counts contiene le risposte per codice: 1 a piedi, 2 in bici, 3 in autobus, 4 in auto. Per confrontare le scuole, rappresenta le percentuali:

  1. Converti i conteggi in percentuali, arrotondate a 1 cifra decimale (12 su 48 è 25.0).
  2. Rappresentale con barre: Walk, Bike, Bus, Car.
  3. Etichetta l'asse verticale Students (%).

Il tuo grafico dovrebbe assomigliare a questo, basato su una scuola più piccola:

Un grafico a barre intitolato Getting to School con quattro barre in percentuale: Walk 26.7, Bike 13.3, Bus 40, Car 20

Il tuo programma non stampa nulla. Coddy descrive le tue barre nell'output.

Provalo tu

import numpy as np
import matplotlib.pyplot as plt

# 1 = a pie, 2 = bicicleta, 3 = autobús, 4 = coche
answers = np.array([1, 3, 1, 4, 3, 3, 4, 3, 4, 4, 3, 4, 4, 4, 3, 3,
                    2, 2, 2, 1, 1, 3, 1, 1, 1, 2, 3, 3, 1, 3, 2, 1,
                    3, 4, 3, 3, 1, 1, 1, 2, 3, 1, 3, 4, 4, 3, 2, 4])


# Devuelve un array: cuántos valores son iguales a cada código del 1 al 4
def count_codes(values):
    counts = []
    for code in range(1, 5):
        counts.append((values == code).sum())
    return np.array(counts)


counts = count_codes(answers)
fig, ax = plt.subplots()
ax.set_title("Getting to School")

# Escribe tu código a continuación

# No cambies la línea siguiente
plt.show()
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Dati e grafici

Esercitati da solo: Compilatore Python online