Introducción a Plotly
¿Qué es Plotly?
Plotly es una biblioteca de visualización de datos interactiva que permite crear
gráficos atractivos y dinámicos directamente desde lenguajes como Python, R, o
JavaScript.
En el caso de Python, se usa principalmente para análisis de datos, ciencia de
datos, y la creación de dashboards profesionales.
Características principales.
1. Interactividad → Todos los gráficos son dinámicos: puedes acercar, hacer
zoom, mover y ver valores al pasar el cursor.
2. Variedad de gráficos → Desde gráficos simples (barras, líneas, pastel)
hasta visualizaciones avanzadas (mapas, gráficos 3D, y financieros).
3. Integración → Funciona muy bien con pandas, NumPy y Dash (una
herramienta para crear aplicaciones web con Python).
4. Personalización → Permite ajustar colores, estilos, ejes, títulos, y mucho
más.
5. Compatibilidad → Los gráficos pueden mostrarse en Jupyter Notebook,
Google Colab, o exportarse a HTML para compartir en la web.
Tipos de gráficos más comunes
Gráficos de barras (bar)
Gráficos de líneas (line)
Diagramas de dispersión (scatter)
Mapas (choropleth, scatter_geo)
Mapas de calor (heatmap)
Gráficos circulares o de pastel (pie)
Gráficos 3D (scatter_3d, surface)
Gráficos financieros (candlestick)
Ventajas de usar Plotly
Facilita la exploración de datos visualmente.
Permite presentaciones dinámicas sin necesidad de PowerPoint u otros
programas.
Ideal para construir dashboards interactivos con Dash.
Compatible con Jupyter, Streamlit, y entornos web.
Cómo funciona Plotly (concepto general)
El funcionamiento de Plotly se basa en tres etapas principales:
1. Entrada de datos.
Plotly toma los datos desde una fuente (por ejemplo, una lista, un arreglo de
NumPy o un DataFrame de pandas).
Estos datos son las variables que se representarán en los ejes del gráfico.
Ejemplo:
2. Creación del gráfico
Luego, se crea el gráfico a partir de esos datos.
Plotly ofrece dos modos principales de construcción:
Plotly Express (px): rápido, sencillo y con parámetros automáticos.
Graph Objects (go): más detallado, permite personalizar todos los
elementos.
Ejemplo con Plotly Express:
Ejemplo con Graph Objects:
3. Renderizado (visualización).
Finalmente, se muestra el gráfico en pantalla:
Dependiendo del entorno (Jupyter Notebook, Google Colab, VS Code, etc.), Plotly
mostrará un gráfico interactivo que puedes:
Mover
Hacer zoom
Exportar a imagen
Consultar valores al pasar el cursor.
Cómo se genera la interactividad
Plotly no solo dibuja gráficos estáticos: internamente usa HTML, CSS y
JavaScript ([Link]) para crear visualizaciones interactivas.
Cuando llamas a [Link](), el gráfico se renderiza como una página HTML dentro
del entorno donde estés trabajando.
Esto hace posible:
Integrar gráficos en sitios web.
Guardarlos como archivos .html.
Compartirlos sin necesidad de código adicional.
Estructura interna
Un gráfico de Plotly se compone de:
1. Datos → Qué se va a mostrar (valores numéricos, categorías, series).
2. Trazas (traces) → Cómo se va a representar (líneas, barras, puntos, etc.).
3. Diseño (layout) → Aspectos visuales (título, colores, ejes, fondo).
4. Configuración → Opciones interactivas y de exportación.
Tipos de visualización disponibles en Plotly.
🔹 1. Gráficos básicos
Estos son los más comunes y se utilizan para representar datos simples o
comparativos.
Tipo de gráfico Descripción Ejemplo de función
Compara cantidades entre
Gráfico de barras [Link](), [Link]()
categorías.
Muestra tendencias en el [Link](),
Gráfico de líneas
tiempo o secuencias. [Link](mode="lines")
Gráfico de
Muestra la relación entre dos
dispersión [Link](), [Link]()
variables numéricas.
(scatter)
Similar al de líneas, pero [Link](),
Gráfico de áreas
rellena el espacio bajo la curva. [Link](fill="tozeroy")
Gráfico de pastel Representa proporciones de un
[Link](), [Link]()
(pie) total.
Gráfico de dona Variante del pastel con un
[Link](hole=0.4)
(donut) agujero central.
2. Gráficos estadísticos
Ideales para análisis de distribución, frecuencia y comparación de variables.
Tipo de gráfico Descripción Ejemplo de función
Muestra la distribución de una
Histograma [Link]()
variable numérica.
Box Plot (diagrama de Resume la distribución
[Link]()
caja) mediante cuartiles.
Similar al boxplot, pero muestra
Violin Plot [Link]()
la densidad de los datos.
Strip Plot Representa puntos individuales [Link]()
Tipo de gráfico Descripción Ejemplo de función
junto a categorías.
Density Heatmap (mapa Muestra concentración de
px.density_heatmap()
de calor de densidad) puntos.
3. Gráficos multidimensionales
Permiten analizar más de dos variables a la vez.
Tipo de gráfico Descripción Ejemplo
Bubble Chart (gráfico Añade tamaño como tercera
[Link](size="columna")
de burbujas) variable.
Matriz de gráficos de
Scatter Matrix dispersión entre varias px.scatter_matrix()
variables.
Visualiza relaciones entre
Parallel Coordinates px.parallel_coordinates()
múltiples variables numéricas.
Visualiza datos categóricos
Parallel Categories px.parallel_categories()
complejos.
4. Gráficos geoespaciales (mapas)
Utilizados para representar datos con coordenadas geográficas.
Tipo de gráfico Descripción Ejemplo
Mapas de dispersión Muestra puntos
px.scatter_geo()
geográfica geolocalizados.
Choropleth Map Representa valores por
(mapa de regiones (países, estados, [Link]()
coropletas) etc.).
Mapbox Scatter / Usa mapas base de Mapbox px.scatter_mapbox(),
Density con capas interactivas. px.density_mapbox()
5. Gráficos en 3D
Ideales para visualizar relaciones complejas en tres dimensiones.
Tipo de gráfico Descripción Ejemplo
Scatter 3D Gráfico de dispersión tridimensional. px.scatter_3d()
Line 3D Trayectorias o líneas en el espacio 3D. go.Scatter3d()
Surface Plot (superficie) Representa una función continua en 3D. [Link]()
Mesh Plot (malla 3D) Muestra una malla tridimensional. go.Mesh3d()
6. Gráficos financieros
Especiales para análisis de series temporales y mercados.
Tipo de gráfico Descripción Ejemplo
Candlestick Muestra apertura, cierre, máximo y mínimo de
[Link]()
Chart un activo.
OHLC Chart Variante simplificada del candlestick. [Link]()
7. Gráficos avanzados y especializados
Usados en análisis más específicos o visualizaciones interactivas complejas.
Tipo de gráfico Descripción Ejemplo
Heatmap (mapa de Muestra intensidad de valores en [Link](),
calor) una cuadrícula. [Link]()
Treemap Muestra jerarquías mediante áreas. [Link]()
Sunburst Similar al treemap, pero circular. [Link]()
Funnel Chart Representa procesos o [Link]()
Tipo de gráfico Descripción Ejemplo
(embudo) conversiones.
Icicle Chart Variante jerárquica del sunburst. [Link]()
Gauge Chart Indicador tipo velocímetro. [Link]()
Características de Plotly.
1. Interactividad
Una de las mayores ventajas de Plotly es que todos los gráficos son interactivos
por defecto.
Esto significa que puedes:
Hacer zoom y desplazarte dentro del gráfico.
Ver valores detallados al pasar el cursor (tooltips).
Activar o desactivar series desde la leyenda.
Exportar el gráfico a imagen o archivo HTML fácilmente.
Esto permite explorar los datos visualmente sin necesidad de modificar el código.
2. Visualizaciones de alta calidad
Plotly genera gráficos con una apariencia profesional, útiles para:
Informes y presentaciones.
Dashboards empresariales.
Publicaciones académicas o científicas.
Los gráficos se renderizan usando HTML, CSS y JavaScript ([Link]), lo que les da
una calidad visual superior.
3. Amplia variedad de gráficos
Plotly ofrece más de 40 tipos de visualizaciones, incluyendo:
Gráficos básicos (barras, líneas, dispersión, pastel).
Gráficos estadísticos (boxplot, histograma, violin plot).
Gráficos avanzados (3D, mapas, financieros, jerárquicos).
Mapas interactivos y visualizaciones geoespaciales.
Esto la convierte en una de las bibliotecas más completas para visualización en
Python.
4. Facilidad de uso
Con Plotly Express (px), puedes crear gráficos complejos con una sola línea de
código.
Por ejemplo:
En segundos obtienes un gráfico totalmente interactivo y bien diseñado.
5. Altamente personalizable
Plotly permite modificar prácticamente todos los elementos visuales:
Colores, títulos, etiquetas y estilos.
Ejes, escalas y fondos.
Anotaciones, líneas de referencia y formas.
Plantillas de diseño (plotly_dark, ggplot2, seaborn, etc.).
6. Integración con otras herramientas.
Plotly se integra fácilmente con:
Pandas → para manejar datos en DataFrames.
NumPy → para cálculos numéricos.
Dash → para crear dashboards web interactivos.
Jupyter Notebook / Google Colab → para visualización directa en celdas.
Streamlit → para aplicaciones web de datos.
7. Soporte para múltiples lenguajes.
Aunque es muy popular en Python, Plotly también está disponible en:
R
JavaScript
Julia
Esto facilita su uso en entornos mixtos de ciencia de datos.
8. Exportación flexible
Los gráficos creados con Plotly pueden exportarse en distintos formatos:
HTML interactivo (para la web).
Imágenes estáticas (PNG, JPEG, SVG, PDF).
Dashboards integrados con Dash o Streamlit.
9. Código abierto y gratuito
Plotly es una biblioteca open source, lo que significa que puedes usarla,
modificarla y compartir tus visualizaciones sin costo.
Además, cuenta con una comunidad muy activa y una documentación excelente.
10. Compatibilidad multiplataforma
Funciona perfectamente en distintos entornos:
Jupyter Notebook
Google Colab
Visual Studio Code
Navegadores web
Aplicaciones de escritorio o web.
Resumen de características
Categoría Descripción breve
Interactividad Gráficos dinámicos con zoom, tooltips y controles.
Variedad Más de 40 tipos de visualizaciones disponibles.
Facilidad de uso Sintaxis sencilla con [Link].
Categoría Descripción breve
Personalización Control total sobre diseño, colores y formato.
Integración Compatible con pandas, Dash, Streamlit y más.
Multilenguaje Soporte para Python, R y JavaScript.
Exportación HTML, imágenes y dashboards.
Código abierto Gratuito y con comunidad activa.
Ventajas de Plotly.
1. Interactividad total
Una de las principales ventajas de Plotly es que todos los gráficos son interactivos
por defecto.
Esto permite:
Hacer zoom, mover y explorar los datos visualmente.
Mostrar información detallada al pasar el cursor (tooltips).
Activar o desactivar variables desde la leyenda.
Exportar el gráfico con un solo clic.
Esta interactividad mejora el análisis exploratorio y la comprensión de los datos.
2. Alta calidad visual.
Plotly genera gráficos con un aspecto profesional y moderno, ideales para:
Informes técnicos o académicos.
Presentaciones ejecutivas.
Dashboards empresariales.
Sus gráficos se renderizan con HTML, CSS y JavaScript ([Link]), lo que garantiza
una visualización fluida y atractiva.
3. Gran variedad de visualizaciones.
Ofrece más de 40 tipos de gráficos diferentes, entre ellos:
Barras, líneas, dispersión y pastel.
Mapas geográficos y mapas de calor.
Gráficos 3D y financieros.
Gráficos jerárquicos y de densidad.
Esto permite representar prácticamente cualquier tipo de dato, desde lo más
simple hasta lo más complejo.
4. Facilidad de uso.
Con Plotly Express (px), se pueden crear gráficos complejos con solo unas pocas
líneas de código:
En segundos obtienes un gráfico interactivo, con colores y leyendas automáticas.
5. Altamente personalizable
Permite ajustar cada detalle del gráfico:
Colores, fuentes, títulos, etiquetas, márgenes, ejes, etc.
Plantillas de diseño (como plotly_dark, ggplot2, seaborn).
Líneas de referencia, anotaciones o indicadores personalizados.
Ideal para adaptar el estilo a informes, marcas o temas específicos.
6. Integración con herramientas de análisis
Plotly se integra de forma natural con las principales bibliotecas de análisis de
datos en Python:
pandas → para manipulación de datos.
NumPy → para cálculos numéricos.
Dash → para construir dashboards interactivos.
Streamlit → para aplicaciones web de datos.
Esto la convierte en una herramienta muy versátil para proyectos de ciencia de
datos.
7. Soporte multiplataforma
Funciona perfectamente en distintos entornos:
Jupyter Notebook
Google Colab
Visual Studio Code
Navegadores web
Aplicaciones web interactivas
Los gráficos se pueden compartir fácilmente en cualquier entorno digital.
8. Exportación flexible
Los gráficos creados con Plotly pueden exportarse en varios formatos:
HTML interactivo (para páginas web o dashboards).
Imágenes estáticas (PNG, JPG, PDF, SVG).
Integración en Dash o Streamlit para visualizaciones en tiempo real.
9. Código abierto y gratuito
Plotly es open source, lo que significa que:
Es completamente gratuito.
Tiene una comunidad activa.
Cuenta con una excelente documentación oficial.
No necesitas licencias costosas para usarla profesionalmente.
10. Ideal para dashboards y análisis interactivo
Junto con la librería Dash, Plotly permite construir paneles de control (dashboards)
totalmente funcionales, con visualizaciones dinámicas, filtros y actualizaciones en
tiempo real.
Resumen de ventajas
Ventaja Descripción breve
Interactividad Gráficos dinámicos y manipulables.
Calidad visual Estilo profesional y atractivo.
Ventaja Descripción breve
Variedad Más de 40 tipos de gráficos.
Facilidad de uso Sintaxis simple y rápida.
Personalización Total control del diseño.
Integración Compatible con pandas, Dash, Streamlit, etc.
Multiplataforma Funciona en notebooks, navegadores y apps web.
Exportación HTML e imágenes estáticas.
Open source Gratuito y con amplia comunidad.
Dashboards Ideal para análisis interactivo en tiempo real.
Ejemplos.
1. Gráfico de barras
Representa comparaciones entre categorías.
Cada barra representa la cantidad vendida de cada tipo de fruta. Al pasar el
mouse, verás los valores exactos.
2. Gráfico de líneas
Ideal para mostrar tendencias a lo largo del tiempo.
Se observa la tendencia creciente de las ventas mes a mes, con puntos marcando
cada valor.
3. Gráfico de dispersión (Scatter Plot)
Muestra la relación entre dos variables.
Cada punto representa una flor del conjunto Iris. El color distingue las diferentes
especies.
4. Gráfico de pastel (Pie Chart)
Visualiza proporciones dentro de un total.
Explicación:
Cada porción del pastel muestra el porcentaje que representa cada categoría del
total.
5. Mapa de calor (Heatmap).
Permite visualizar la intensidad de valores en una matriz.
Explicación:
Cada celda tiene un color que representa la magnitud de su valor.
6. Mapa geográfico (Choropleth)
Ideal para representar datos por país o región.
Explicación:
Cada país se colorea según su esperanza de vida. Los tonos más claros
representan valores más altos.
7. Gráfico financiero (Candlestick)
Usado en análisis de bolsa o precios de mercado.
Explicación:
Cada vela muestra la apertura, cierre, máximo y mínimo de un valor financiero.
8. Gráfico 3D
Permite visualizar relaciones en tres dimensiones.
Explicación:
Cada punto tiene tres coordenadas (x, y, z). Puedes rotar el gráfico libremente.
Conclusión.
Plotly permite crear visualizaciones interactivas, personalizables y profesionales
con pocas líneas de código.
Gracias a su versatilidad, puede utilizarse para:
Análisis de datos.
Informes y presentaciones.
Dashboards interactivos.
Visualizaciones web.