La biblioteca de gráficos detrás de los tableros de una empresa es una decisión de largo plazo. Define con qué rapidez pueden construirse nuevos productos de decisión, qué tan bien se ven en un teléfono durante una reunión de directorio y cuánto cuesta mantenerlos. Para comparar las opciones en igualdad de condiciones, construimos el mismo gráfico con tres de las mejores bibliotecas de código abierto disponibles en Python.

El gráfico de prueba es típico de un tablero ejecutivo: un gráfico de áreas apiladas en el tiempo, con un selector de rango de fechas, totales que se actualizan con la selección y una leyenda interactiva.

Plotly: rápido para empezar, más difícil de terminar

Plotly es una de las bibliotecas más populares para gráficos interactivos en Python, bien integrada con Pandas y los cuadernos de trabajo. Plotly Express produjo el gráfico base en pocas líneas, pero alcanzar el estándar ejecutivo exigió soluciones alternativas:

  • El eje vertical no se reescala cuando cambia el rango de fechas, lo que oculta patrones en períodos más cortos.
  • No existe una forma integrada de mostrar totales que reaccionen a la leyenda; los agregamos con JavaScript.
  • Interactuar con la leyenda elimina el color de relleno de las áreas, un error conocido.
El gráfico final de Plotly: útil e interactivo, con soluciones alternativas.

Altair: una gramática elegante, más código

Vega-Altair describe los gráficos de forma declarativa, sobre la gramática de Vega, y es excelente para gráficos estadísticos. La interacción requirió más código que el diseño, y quedaron algunas limitaciones:

  • Con varios elementos de la leyenda seleccionados, hacer clic en el gráfico o en el selector borra la última selección; compilar el gráfico a Vega lo resolvió.
  • El selector de fechas no funciona bien en dispositivos móviles, y los cuadros de información pueden quedar fijos en pantalla.
  • Los gráficos con facetas no pueden ajustar su tamaño al contenedor.
El gráfico final de Altair: útil e interactivo, menos adecuado para móviles.

ECharts: el resultado más completo

ECharts es una biblioteca de JavaScript de código abierto creada para el rendimiento y la flexibilidad, con una gama muy amplia de tipos de gráficos. PyEcharts permite usarla desde Python. Necesitó menos código que las otras dos, funcionó en móviles sin cambios, y su única carencia, los totales que siguen a la leyenda, se resolvió con unas pocas líneas de JavaScript.

El gráfico final de ECharts: completo, interactivo y listo para móviles.

Nuestra recomendación

  • Plotly es una buena opción para el análisis en cuadernos de trabajo y los prototipos rápidos; los tableros en producción necesitarán soluciones alternativas.
  • Altair es ideal para la exploración estadística por parte de analistas, menos para el uso ejecutivo en móviles.
  • ECharts es nuestra elección para los productos de decisión: completo desde el inicio, rápido, listo para móviles y fácil de extender.
BS

Bartor S.

Fundador

Todas las perspectivas