Bar Plots¶
Altair es una biblioteca de visualización de datos en Python que utiliza una sintaxis declarativa para crear gráficos interactivos y de alta calidad. A continuación, se presentan algunos ejemplos de cómo crear gráficos de barras con Altair en Python.
- Gráfico de barras básico:
In [1]:
Copied!
import altair as alt
import pandas as pd
import warnings
warnings.filterwarnings("ignore", message=".*convert_dtype parameter is deprecated.*")
# Cargar los datos
tips = pd.DataFrame({
'day': ['Thur', 'Fri', 'Sat', 'Sun', 'Thur', 'Fri', 'Sat', 'Sun'],
'total_bill': [10.34, 20.23, 17.45, 25.53, 14.68, 18.72, 22.34, 19.88]
})
# Crear el gráfico de barras - vertical
chart = alt.Chart(tips).mark_bar().encode(
x='day',
y='total_bill'
).properties(
width=600,
height=400
).interactive()
# Mostrar el gráfico
chart
import altair as alt
import pandas as pd
import warnings
warnings.filterwarnings("ignore", message=".*convert_dtype parameter is deprecated.*")
# Cargar los datos
tips = pd.DataFrame({
'day': ['Thur', 'Fri', 'Sat', 'Sun', 'Thur', 'Fri', 'Sat', 'Sun'],
'total_bill': [10.34, 20.23, 17.45, 25.53, 14.68, 18.72, 22.34, 19.88]
})
# Crear el gráfico de barras - vertical
chart = alt.Chart(tips).mark_bar().encode(
x='day',
y='total_bill'
).properties(
width=600,
height=400
).interactive()
# Mostrar el gráfico
chart
Out[1]:
In [2]:
Copied!
# Crear el gráfico de barras - horizontal
chart = alt.Chart(tips).mark_bar().encode(
y='day',
x='total_bill'
).properties(
width=600,
height=400
).interactive()
# Mostrar el gráfico
chart
# Crear el gráfico de barras - horizontal
chart = alt.Chart(tips).mark_bar().encode(
y='day',
x='total_bill'
).properties(
width=600,
height=400
).interactive()
# Mostrar el gráfico
chart
Out[2]:
- Gráfico de barras con colores codificados por una tercera variable:
In [3]:
Copied!
import altair as alt
import seaborn as sns
# Cargar los datos
titanic = sns.load_dataset("titanic")
# Crear el gráfico de barras con colores codificados por género
chart = alt.Chart(titanic).mark_bar().encode(
x=alt.X('class:N', title='Class', axis=alt.Axis(labelAngle=0)),
y=alt.Y('sum(survived):Q', title='Survived'),
color=alt.Color('sex:N', title='Sex'),
column=alt.Column('sex:N', title='Sex', header=alt.Header(labelAngle=0, labelAlign='center'))
).properties(
width=200, # Ancho de cada faceta
height=400 # Altura del gráfico
).interactive()
# Mostrar el gráfico
chart
import altair as alt
import seaborn as sns
# Cargar los datos
titanic = sns.load_dataset("titanic")
# Crear el gráfico de barras con colores codificados por género
chart = alt.Chart(titanic).mark_bar().encode(
x=alt.X('class:N', title='Class', axis=alt.Axis(labelAngle=0)),
y=alt.Y('sum(survived):Q', title='Survived'),
color=alt.Color('sex:N', title='Sex'),
column=alt.Column('sex:N', title='Sex', header=alt.Header(labelAngle=0, labelAlign='center'))
).properties(
width=200, # Ancho de cada faceta
height=400 # Altura del gráfico
).interactive()
# Mostrar el gráfico
chart
Out[3]:
- Gráfico de barras con líneas de error:
In [4]:
Copied!
import altair as alt
import seaborn as sns
import pandas as pd
# Cargar los datos
diamonds = sns.load_dataset("diamonds")
# Calcular el promedio y el intervalo de confianza
mean_price = diamonds.groupby('cut', observed=True)['price'].mean().reset_index()
ci = diamonds.groupby('cut', observed=True)['price'].sem().reset_index()
mean_price['ci'] = ci['price'] * 1.96
# Crear el gráfico de barras con líneas de error
base = alt.Chart(mean_price).encode(
x='cut',
y='price'
)
bars = base.mark_bar()
error_bars = base.mark_errorbar(extent='ci').encode(
y='ci'
)
# Mostrar el gráfico
(bars + error_bars).properties(
width=600,
height=400
).interactive()
import altair as alt
import seaborn as sns
import pandas as pd
# Cargar los datos
diamonds = sns.load_dataset("diamonds")
# Calcular el promedio y el intervalo de confianza
mean_price = diamonds.groupby('cut', observed=True)['price'].mean().reset_index()
ci = diamonds.groupby('cut', observed=True)['price'].sem().reset_index()
mean_price['ci'] = ci['price'] * 1.96
# Crear el gráfico de barras con líneas de error
base = alt.Chart(mean_price).encode(
x='cut',
y='price'
)
bars = base.mark_bar()
error_bars = base.mark_errorbar(extent='ci').encode(
y='ci'
)
# Mostrar el gráfico
(bars + error_bars).properties(
width=600,
height=400
).interactive()
Out[4]:
- Gráfico de barras apiladas:
In [5]:
Copied!
import altair as alt
import seaborn as sns
# Cargar los datos
titanic = sns.load_dataset("titanic")
# Crear el gráfico de barras apiladas por género y clase
chart = alt.Chart(titanic).mark_bar().encode(
x='class',
y='sum(survived)',
color='sex'
).properties(
width=600,
height=400
).interactive()
# Mostrar el gráfico
chart
import altair as alt
import seaborn as sns
# Cargar los datos
titanic = sns.load_dataset("titanic")
# Crear el gráfico de barras apiladas por género y clase
chart = alt.Chart(titanic).mark_bar().encode(
x='class',
y='sum(survived)',
color='sex'
).properties(
width=600,
height=400
).interactive()
# Mostrar el gráfico
chart
Out[5]: