Line 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 línea con Altair en Python.
- Gráfico de línea básico
In [1]:
Copied!
import altair as alt
import pandas as pd
# Crear un DataFrame de ejemplo
data = pd.DataFrame({
'total_bill': [16.99, 10.34, 21.01, 23.68, 24.59],
'tip': [1.01, 1.66, 3.50, 3.31, 3.61]
})
# Crear el gráfico de línea
chart = alt.Chart(data).mark_line().encode(
x='total_bill',
y='tip'
).properties(
width=600,
height=400
).interactive()
# Mostrar el gráfico
chart
import altair as alt
import pandas as pd
# Crear un DataFrame de ejemplo
data = pd.DataFrame({
'total_bill': [16.99, 10.34, 21.01, 23.68, 24.59],
'tip': [1.01, 1.66, 3.50, 3.31, 3.61]
})
# Crear el gráfico de línea
chart = alt.Chart(data).mark_line().encode(
x='total_bill',
y='tip'
).properties(
width=600,
height=400
).interactive()
# Mostrar el gráfico
chart
Out[1]:
- Gráfico de línea con múltiples líneas
In [2]:
Copied!
import altair as alt
from vega_datasets import data
import warnings
import pandas as pd
# Deshabilitar advertencias de pandas
warnings.simplefilter(action='ignore', category=FutureWarning)
# Cargar los datos
stocks = data.stocks()
# Crear el gráfico de línea con múltiples líneas
chart = alt.Chart(stocks).mark_line().encode(
x='date:T',
y='price',
color='symbol'
).properties(
width=600,
height=400
).interactive()
# Mostrar el gráfico
chart
import altair as alt
from vega_datasets import data
import warnings
import pandas as pd
# Deshabilitar advertencias de pandas
warnings.simplefilter(action='ignore', category=FutureWarning)
# Cargar los datos
stocks = data.stocks()
# Crear el gráfico de línea con múltiples líneas
chart = alt.Chart(stocks).mark_line().encode(
x='date:T',
y='price',
color='symbol'
).properties(
width=600,
height=400
).interactive()
# Mostrar el gráfico
chart
Out[2]:
- Gráfico de línea con estilo personalizado
In [3]:
Copied!
import altair as alt
from vega_datasets import data
# Cargar los datos
stocks = data.stocks()
# Crear el gráfico de línea con estilo personalizado
chart = alt.Chart(stocks).mark_line(point=True).encode(
x='date:T',
y='price',
color='symbol',
strokeDash='symbol'
).properties(
width=600,
height=400
).interactive()
# Mostrar el gráfico
chart
import altair as alt
from vega_datasets import data
# Cargar los datos
stocks = data.stocks()
# Crear el gráfico de línea con estilo personalizado
chart = alt.Chart(stocks).mark_line(point=True).encode(
x='date:T',
y='price',
color='symbol',
strokeDash='symbol'
).properties(
width=600,
height=400
).interactive()
# Mostrar el gráfico
chart
Out[3]:
- Gráfico de línea con bandas de confianza
In [4]:
Copied!
import altair as alt
import pandas as pd
import numpy as np
# Crear un DataFrame de ejemplo
np.random.seed(0)
dates = pd.date_range('2022-01-01', periods=100)
values = np.random.randn(100).cumsum()
data = pd.DataFrame({
'date': dates,
'value': values
})
# Calcular las bandas de confianza
data['ci_lower'] = data['value'] - 1.96 * np.random.rand(100)
data['ci_upper'] = data['value'] + 1.96 * np.random.rand(100)
# Crear el gráfico de línea con bandas de confianza
line = alt.Chart(data).mark_line().encode(
x='date:T',
y='value'
).interactive()
band = alt.Chart(data).mark_errorband(extent='ci').encode(
x='date:T',
y='ci_lower',
y2='ci_upper'
)
# Mostrar el gráfico
(line + band).properties(
width=600,
height=400
).interactive()
import altair as alt
import pandas as pd
import numpy as np
# Crear un DataFrame de ejemplo
np.random.seed(0)
dates = pd.date_range('2022-01-01', periods=100)
values = np.random.randn(100).cumsum()
data = pd.DataFrame({
'date': dates,
'value': values
})
# Calcular las bandas de confianza
data['ci_lower'] = data['value'] - 1.96 * np.random.rand(100)
data['ci_upper'] = data['value'] + 1.96 * np.random.rand(100)
# Crear el gráfico de línea con bandas de confianza
line = alt.Chart(data).mark_line().encode(
x='date:T',
y='value'
).interactive()
band = alt.Chart(data).mark_errorband(extent='ci').encode(
x='date:T',
y='ci_lower',
y2='ci_upper'
)
# Mostrar el gráfico
(line + band).properties(
width=600,
height=400
).interactive()
Out[4]: