Gráfico de barras


Un gráfico de barras esta compuesto por rectangulos que van desde el eje X hasta una altura Y.

Así es como se produce un gráfico de barras en altair:

# primero importamos las bibliotecas necesarias
# estos alias son convenciones populares
# pero no son requisitos estrictos

import pandas as pd
import altair as alt

Si estas trabajando con este notebook en un jupyter notebook y no el jupyter lab requerirás ejecutar el siguiente código también.

alt.renderers.enable("notebook")

Los datos con los que vamos a trabajar son de INEGI. En este caso, el número de personas en el país desde 1910.

datos = pd.read_csv("../../datos/poblacion.csv")

Puedes explorar el DataFrame con el método .head() para observar las primeras líneas.

datos.head()
Periodo Número de personas
0 1910 15160369
1 1921 14334780
2 1930 16552722
3 1940 19653552
4 1950 25791017

Nota que por default .head() sólo muestra las primeras 5 líneas pero puedes pasarle cualquier número entero como parametro.

datos.head(10)
Periodo Número de personas
0 1910 15160369
1 1921 14334780
2 1930 16552722
3 1940 19653552
4 1950 25791017
5 1960 34923129
6 1970 48225238
7 1980 66846833
8 1990 81249645
9 1995 91158290

Visualización

alt.Chart(datos).mark_bar().encode(
    x = "Periodo:Q",
    y = "Número de personas:Q"
)

png

Nota que utilizamos

    x = "Periodo:Q",
    y = "Número de personas:Q",

en nuestro gráfico. La Q le esta indicando a altair que interprete los valores de la columna “Periodo” y “Número de personas” como datos de tipo cuantitativo (Q).

Modifica el valor de Y en este gráfico para que sea interpretado como tipo nominal (N), ordinal (O), y temporal (T) para ver como cambia tu gráfico.

# Nominal
alt.Chart(datos).mark_bar().encode(
    x = "Periodo:Q",
    y = ""
)
# Ordinal
alt.Chart(datos).mark_bar().encode(
    x = "",
    y = "",
)
# Temporal
alt.Chart(datos).

Bonus

¿Cómo modificarías tu gráfico para que las barras sean horizontales?

# Horizontal