Módulo: Visualización de datos y gráficos
Este módulo forma parte del curso de Streamlit. .
La visualización de datos es el núcleo de la mayoría de aplicaciones Streamlit. La biblioteca ofrece desde gráficos nativos de uso inmediato hasta integraciones completas con las principales bibliotecas de visualización del ecosistema Python: Matplotlib, Seaborn, Plotly y Altair.
Gráficos nativos
Los gráficos nativos de Streamlit son la forma más rápida de visualizar datos desde un DataFrame de Pandas o un array de NumPy:
import streamlit as st
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(20, 3), columns=["Serie A", "Serie B", "Serie C"])
st.line_chart(df)
st.bar_chart(df)
st.area_chart(df)
st.scatter_chart(df, x="Serie A", y="Serie B", size="Serie C")
Todos los gráficos nativos son interactivos por defecto (zoom, selección de series) y responden a los temas de la aplicación.
Mapas geoespaciales
import pandas as pd
import streamlit as st
# Mapa de puntos básico con lat/lon
df_mapa = pd.DataFrame({
"lat": [40.416, 41.385, 39.470],
"lon": [-3.703, 2.173, -0.376]
})
st.map(df_mapa)
# Mapa avanzado con PyDeck
import pydeck as pdk
st.pydeck_chart(pdk.Deck(
map_style="mapbox://styles/mapbox/light-v9",
initial_view_state=pdk.ViewState(latitude=40.416, longitude=-3.703, zoom=5),
layers=[pdk.Layer("ScatterplotLayer", data=df_mapa, get_position=["lon", "lat"])]
))
Matplotlib y Seaborn
import matplotlib.pyplot as plt
import seaborn as sns
fig, ax = plt.subplots(figsize=(10, 5))
sns.histplot(df["Serie A"], kde=True, ax=ax)
ax.set_title("Distribución de Serie A")
st.pyplot(fig)
Plotly (gráficos interactivos avanzados)
import plotly.express as px
fig = px.scatter(df, x="Serie A", y="Serie B", color="Serie C",
title="Gráfico de dispersión interactivo")
st.plotly_chart(fig, use_container_width=True)
Altair y Graphviz
import altair as alt
chart = alt.Chart(df.reset_index()).mark_line().encode(
x="index:Q", y="Serie A:Q"
).properties(title="Serie A con Altair")
st.altair_chart(chart, use_container_width=True)
# Grafos de dependencias
st.graphviz_chart("digraph { Datos -> Modelo -> Predicción -> Dashboard }")
Este módulo convierte a los estudiantes en usuarios avanzados de la capa de visualización de Streamlit, capaces de elegir la herramienta adecuada para cada tipo de dato y audiencia.
Otros módulos de este curso
Visualización de datos y gráficos
Todos los módulos del curso
Navega entre los módulos de Streamlit
Visualización de datos y gráficos
Estás aquíExplora más sobre Streamlit
Descubre más recursos de Streamlit
Alan Sastre
Ingeniero de Software y formador, CEO en CertiDevs
Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Streamlit es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.