Menu
CoddyTech

Grafico a dispersione da colonne

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

Una batteria più grande significa un’autonomia maggiore? Un grafico a dispersione con due colonne risponde a colpo d’occhio, con un punto per ogni riga:

Un grafico a dispersione intitolato Autonomia delle bici elettriche: sette bici elettriche rappresentate da punti, la batteria in Wh sull’asse orizzontale e l’autonomia in km su quello verticale, che aumentano insieme da 250 Wh e 35 km a 750 Wh e 110 km

Una colonna va dove andava una lista, quindi ax.scatter accetta due colonne:

bikes = pd.DataFrame({
    "battery_wh": [250, 300, 400, 500, 500, 625, 750],
    "range_km": [35, 45, 60, 65, 75, 95, 110],
})
fig, ax = plt.subplots()
ax.scatter(bikes["battery_wh"], bikes["range_km"])
ax.set_title("E-bike Range")
ax.set_xlabel("Battery (Wh)")
ax.set_ylabel("Range (km)")
plt.show()

I punti che salgono verso destra indicano che le colonne crescono insieme: una relazione che un modello può apprendere. Una nuvola informe significa che non c’è alcuna relazione.

ax.scatter non vede mai i nomi delle colonne, quindi spetta a te impostare le etichette degli assi.

challenge icon

Sfida

Medio

Un guardiaparco ha misurato 12 alberi in trees.csv: age_years, trunk_cm e height_m. Quale va abbinata all’altezza: l’età o la larghezza del tronco? Il codice iniziale legge uno di quei due nomi in column e prepara il grafico.

  1. Disegna un punto per ogni albero: quella colonna sull’asse orizzontale, height_m su quello verticale.
  2. Etichetta l’asse x con il nome della colonna.

Il tuo dovrebbe assomigliare a questo, per un altro parco, con crown_m:

Un grafico a dispersione intitolato Tree Size, con crown_m sull’asse orizzontale e Height (m) su quello verticale: dieci punti che salgono in modo irregolare, da alberi alti circa 6 m con chiome piccole ad alberi alti 14 m con chiome di 7.5 m

Coddy esegue il tuo codice per entrambe le colonne e descrive ciascun grafico. Confrontali: la banda crescente più compatta risponde alla domanda.

Provalo tu

import pandas as pd
import matplotlib.pyplot as plt

trees = pd.read_csv("trees.csv")
column = input()

fig, ax = plt.subplots()
ax.set_title("Tree Size")
ax.set_ylabel("Height (m)")

# Scrivi il tuo codice qui sotto

# Non modificare la riga qui sotto
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