Menu
CoddyTech

Gráficos de dispersión

Parte de la sección Datos y gráficos del Journey de Machine Learning de Coddy. Lección 21 de 60.

Diez plantas de interior: horas de sol al día y cuánto creció cada una. Unidas por una línea, forman un enredo. Como puntos, aparece un patrón:

Dos gráficos de las mismas diez plantas, con las horas de sol en el eje horizontal y el crecimiento en el vertical. A la izquierda, plt.plot las une formando un enredo en zigzag. A la derecha, plt.scatter muestra puntos que ascienden hacia la derecha

plt.scatter(x, y) dibuja un punto por cada par, sin líneas:

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()

Más sol, más crecimiento. Un gráfico de dispersión muestra cómo se relacionan dos mediciones de muestras separadas: el primer vistazo antes de que un modelo prediga una a partir de la otra.

Los valores ordenados, como los días de la semana, siguen usando plt.plot.

challenge icon

Desafío

Intermedio

Un pescador registró cada pez en el orden de captura: una fila por pez, longitud (cm) y después peso (g). El código inicial los une con plt.plot, así que la línea zigzaguea y oculta el patrón.

  1. Dibuja cada pez como un punto: longitud en el eje horizontal, peso en el vertical.
  2. No dejes ninguna línea.
  3. Conserva el título, las etiquetas y plt.show().

El tuyo debería verse como este, de otra salida de pesca:

Un gráfico de dispersión titulado Fish Catch: nueve puntos que ascienden desde 18 cm y 90 g hasta 42 cm y 980 g, sin línea

Tu programa no imprime nada. Coddy describe tu gráfico en la salida.

Pruébalo tú mismo

import numpy as np
import matplotlib.pyplot as plt

# Cada fila corresponde a un pez, en el orden en que fue capturado: longitud (cm), peso (g)
fish = np.array([[22, 180], [30, 390], [25, 250], [35, 620],
                 [28, 330], [40, 870], [19, 120], [33, 510]])

# Corrige la gráfica de abajo
plt.plot(fish[:, 0], fish[:, 1])

# No cambies las líneas de abajo
plt.title("Fish Catch")
plt.xlabel("Length (cm)")
plt.ylabel("Weight (g)")
plt.show()
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Datos y gráficos

Practica por tu cuenta: Compilador de Python online