Menu
CoddyTech

Varios gráficos en uno

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

Un camión de comida registra a sus clientes y su tiempo de espera. Las distintas unidades se leen mejor en dos gráficos, uno al lado del otro en una misma figura:

Dos gráficos uno al lado del otro: barras del número de clientes de lunes a viernes, que aumentan hasta 150 el viernes, y una línea del tiempo de espera en minutos, que aumenta hasta 12 el viernes

Días ocupados, largas esperas: un vistazo basta para ver la situación. plt.subplots(1, 2) crea 1 fila con 2 gráficos, axs[0] a la izquierda y axs[1] a la derecha:

days = ["Mon", "Tue", "Wed", "Thu", "Fri"]
customers = [60, 85, 70, 120, 150]
wait = [4, 6, 5, 9, 12]
fig, axs = plt.subplots(1, 2)
axs[0].bar(days, customers)
axs[0].set_title("Customers")
axs[1].plot(days, wait)
axs[1].set_title("Wait (min)")
plt.show()

Cada uno es un gráfico completo con los métodos que conoces. Primero van las filas, como en una forma: plt.subplots(2, 1) las apila.

challenge icon

Desafío

Intermedio

Un excursionista registró ocho caminatas: km recorridos y hours empleados. La función inicial label(ax, title, xlabel, ylabel) da nombre a un gráfico. Dibuja dos gráficos uno al lado del otro:

  1. Izquierda: una línea de km (hacia arriba) por número de caminata en hikes (a lo largo).
  2. Derecha: un punto por caminata, con la distancia a lo largo y el tiempo hacia arriba.
  3. Da nombre a cada gráfico con una llamada a label, usando los textos de abajo.

El tuyo debería verse como este, del registro de otro excursionista:

Dos gráficos uno al lado del otro: a la izquierda, una línea titulada Distance per Hike, con Hike a lo largo y Distance (km) hacia arriba; a la derecha, puntos titulados Time vs Distance, con Distance (km) a lo largo y Time (h) hacia arriba

Los textos: Distance per Hike, Hike, Distance (km) a la izquierda; Time vs Distance, Distance (km), Time (h) a la derecha. Tu programa no imprime nada.

Pruébalo tú mismo

import numpy as np
import matplotlib.pyplot as plt

hikes = np.arange(1, 9)
km = np.array([8.0, 12.5, 6.0, 15.0, 10.0, 18.5, 9.5, 14.0])
hours = np.array([2.5, 4.0, 2.0, 5.0, 3.5, 6.5, 3.0, 4.5])


# Asigna a una gráfica su título y las etiquetas de los ejes (no devuelve nada)
def label(ax, title, xlabel, ylabel):
    ax.set_title(title)
    ax.set_xlabel(xlabel)
    ax.set_ylabel(ylabel)


# Escribe tu código a continuación

# No cambies la línea siguiente
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