Menu
CoddyTech

Gráficos de barras

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

Este capítulo convierte los datos en resúmenes. Al final, crearás un informe con dos gráficos como este:

Dos gráficos uno al lado del otro: un gráfico de barras de la lluvia promedio de cada día de la semana, con el jueves como el día más lluvioso, y un histograma de la lluvia diaria en el que la mayoría de los días casi no llueve

Empieza con barras. Los sabores no tienen un orden, así que una línea de uno al siguiente no significa nada. ax.bar(categories, values) dibuja una barra por categoría:

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 gráfico de barras titulado Scoops Sold con cuatro barras: Chocolate 42, Vanilla 27, Mint 15, Mango 21

Las barras empiezan en 0, así que las alturas se comparan directamente: 42 para chocolate es el doble que 21 para mango. Antes de entrenar un modelo, las barras que muestran con qué frecuencia aparece cada respuesta indican si una predomina.

challenge icon

Desafío

Intermedio

48 estudiantes dijeron cómo llegan a la escuela. counts contiene las respuestas por código: 1 caminar, 2 bicicleta, 3 autobús, 4 automóvil. Para comparar escuelas, representa los porcentajes:

  1. Convierte los recuentos en porcentajes, redondeados a 1 decimal (12 de 48 es 25.0).
  2. Represéntalos como barras: Walk, Bike, Bus, Car.
  3. Etiqueta el eje vertical Students (%).

El tuyo debería verse así, con datos de una escuela más pequeña:

Gráfico de barras titulado Llegar a la escuela con cuatro barras en porcentajes: caminar 26.7, bicicleta 13.3, autobús 40, automóvil 20

Tu programa no imprime nada. Coddy describe tus barras en la salida.

Pruébalo tú mismo

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 corresponden 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 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