Menu
CoddyTech

Grafici a dispersione

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

Dieci piante da appartamento: ore di sole al giorno e quanto è cresciuta ciascuna. Unite da una linea, formano un groviglio. Come punti, emerge uno schema:

Due grafici delle stesse dieci piante, sole in orizzontale e crescita in verticale. A sinistra, plt.plot le unisce formando un groviglio a zigzag. A destra, plt.scatter mostra punti che salgono verso destra

plt.scatter(x, y) disegna un punto per ogni coppia, senza linee:

sun = [2, 6, 3, 8, 5, 1, 7, 4, 6, 3]
growth = [4, 10, 7, 12, 6, 2, 9, 8, 7, 3]
plt.scatter(sun, growth)
plt.xlabel("Sun (hours a day)")
plt.ylabel("Growth (cm)")
plt.show()

Più sole, più crescita. Un diagramma a dispersione mostra come sono correlate due misurazioni di campioni distinti: il primo sguardo prima che un modello ne predica una a partire dall’altra.

I valori ordinati, come i giorni della settimana, si rappresentano ancora con plt.plot.

challenge icon

Sfida

Medio

Un pescatore ha registrato ogni pesce nell’ordine in cui è stato pescato: una riga per pesce, prima la lunghezza (cm) e poi il peso (g). Il codice iniziale li unisce con plt.plot, così la linea zigzaga e nasconde l’andamento.

  1. Disegna ogni pesce come un punto a sé: lunghezza sull’asse orizzontale, peso su quello verticale.
  2. Non lasciare alcuna linea.
  3. Mantieni il titolo, le etichette e plt.show().

Il tuo grafico dovrebbe assomigliare a questo, realizzato durante un’altra uscita:

Grafico a dispersione intitolato Fish Catch: nove punti che salgono da 18 cm e 90 g a 42 cm e 980 g, senza linea

Il tuo programma non stampa nulla. Coddy descrive il tuo grafico nell’output.

Provalo tu

import numpy as np
import matplotlib.pyplot as plt

# Each row is one fish, in the order it was caught: length (cm), weight (g)
fish = np.array([[22, 180], [30, 390], [25, 250], [35, 620],
                 [28, 330], [40, 870], [19, 120], [33, 510]])

# Fix the drawing below
plt.plot(fish[:, 0], fish[:, 1])

# Don't change the lines below
plt.title("Fish Catch")
plt.xlabel("Length (cm)")
plt.ylabel("Weight (g)")
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