La visualización de datos es un arte y una ciencia, ya que, “una imagen vale más que mil líneas de datos”. Existen librerías de código que hacen esta labor un poco más manejable.

¿Qué es una librería? ¿Cómo funciona?

Una librería es un kit de herramientas que contiene recursos que se pueden reutilizar. ¿No queremos empezar todo desde 0 verdad? Puedes hacer un llamado dentro de tu código a estas librerías para reutilizar aquellos recursos que necesites.

Para poder usar las siguientes librerías necesitas tener conocimientos previos de programación, pero si no los tienes,  puedes usar las siguientes herramientas que no necesitan de código.

4 factores a considerar antes de escoger una librería.

Antes de decidir cuál libreria utilizar es necesario tomar en cuenta los siguientes aspectos:

1.- El formato de los datos que vas a utilizar.

Los datos que deseas visualizar están en un .csv, en un .sql, en un pdf, etc. Las librerías trabajan con ciertos formatos por lo que debes buscar la que más se adecúe a tu situación.

2.- ¿Qué tan personalizable es?

Algunas librerías son restrictivas. Las más fáciles de aprender son más limitadas mientras que las más complejas son más personalizables.

3.- Los tipos de gráficos disponibles.

Revisa bien que la librería genere ese gráfico que estas buscando. 

4.- ¿Qué tan fácil de aprender es? ¿Se puede encontrar buena documentación sobre ella?

Sabemos que a veces necesitamos las cosas para ayer. Si estás en un apuro, no pierdas tu tiempo con algo complicado.  Si dispones de más tiempo hay una infinidad de cosas por descubrir en librerías complejas.

A continuación, las librerías 

 

D3.js

http://d3js.org

D3.js es una librería JavaScript para manipular documentos basados en datos. D3 utiliza HTML, SVG y CSS. D3 te da completamente el control: es muy customizable. Con ella, puedes crear desde gráficas sencillas como barras, hasta visualizaciones complejas, como gráficos relacionales o visualizaciones con mapas.

? Ventajas

  • Es una librería muy popular con una comunidad muy activa, lo que facilita el aprendizaje y te brinda respuestas rápidas a tus preguntas.
  • Es compatible con la librería Javascript React.
  • Existen varias librerías como C3.js o Metrics Graphics.js, que usan D3 en el back-end, lo cual reduce el trabajo para obtener buenos gráficos.
  • Sin dependencias y fácil de configurar.
  • D3 ofrece un increíble nivel de interactividad.

? Desventajas

  • La curva de aprendizaje es compleja. De esta manera, si lo que se deseas obtener es un gráfico sencillo, quizá esta no sea una buena opción.
  • Requiere librerías adicionales para exportar los gráficos.

 

Processing.js

http://processingjs.org/

Processing.js es una librería JavaScript que permite hacer visualizaciones de datos, arte digital, animaciones interactivas, gráficos educativos, videojuegos, etc. Trabaja con estándares web y cualquier complemento. Processing.js es el proyecto hermano de Processing.

? Ventajas

  • Processing.js está escrito en JavaScript y usa el elemento <canvas> de HTML5. Convierte tu código JavaScript y lo ejecuta.
  • Utiliza estándares web modernos.
  • Si sabes codificar en Processing no necesitas aprender Javascript.

? Desventajas

  • Processing.js utiliza el concepto de un directorio de datos, donde se encuentran las imágenes y otros recursos. Processing.js no incluye esto. Como resultado, siempre se debe proporcionar páginas de archivos (por ejemplo, imágenes).
  • Processing.js necesita tu ayuda al anular métodos de superclase sobrecargados. Esto quiere decir que cuando se hereden métodos de una clase, no se podrá sobrescribir.
  • Solo tiene dos modos de renderizado. Si estás pasando de Processing (el cual tiene muchos modos de Renderizado) a Processing.js, puede ser un poco problemático.

Google Charts

https://developers.google.com/chart/?hl=en

Google Charts es un servicio web que permite crear gráficos con la información que se le proporciona y es de fácil uso.  Es la librería que soporta Google Analytics, por lo que se puede usar en diferentes formatos como Json, Javascript y plugins que se pueden integrar con varios lenguajes de programación.

? Ventajas

  • Es personalizable. Puedes hacer tus propios gráficos para que combinen con tu web.
  • Se conecta a tus datos en tiempo real utilizando una variedad de herramientas y protocolos.
  • Compatibilidad con varios navegadores.
  • Puedes utilizar un código embebido Javascript en tu página web.
  • Es gratis
  • Puede generar los gráficos mediante Hojas de cálculo, bases de datos SQL, archivos CSV y hacer actualizaciones automáticas.

? Desventajas

  • No te da un procesamiento estadístico sofisticado.
  • Requiere una conexión de red.

Chartjs.js

http://www.chartjs.org/

Chart.js es una biblioteca de JavaScript que  permite dibujar diferentes tipos de gráficos responsive mediante el elemento canvas de HTML5.

? Ventajas

  • Es responsivo
  • Modular (Funcionalidades separadas)
  • Open Source, así puedes compartir y modificar el código fuente.
  • La documentación de chart.js  está bien organizada y provee información detallada de cada una de las características.

? Desventajas

  • Funciona mejor para algo rápido y simple. En caso de un proyecto complejo y más personalizado, esta librería no es la adecuada.

 

Vis.js

http://visjs.org/

Una librería de visualización dinámica web. La librería está diseñada para ser fácil de usar, manejar grandes cantidades de datos dinámicos y permitir la manipulación e interacción con los datos.

? Ventajas

  • Responsivo
  • Modular (Funcionalidades separadas)
  • Open Source
  • Vis.js  tiene un showcase de proyectos y documentación clara

? Desventajas

  • Lento: Cuando el gráfico tiene muchos detalles se necesita poner un mensaje “Cargando” para que los usuarios lo sepan.

Sigma.js

http://sigmajs.org/

Sigma es una librería JavaScript dedicada a las visualizaciones de datos. Facilita la publicación de gráficos de redes en páginas web y permite a los desarrolladores integrar su exploración en aplicaciones web.

? Ventajas

  • Bastante adaptable
  • Se puede agregar toda la interactividad deseada
  • Apto para principiantes.

? Desventajas

  • Cuando los nodos están conectados por varios bordes, estos se tienden a superponer y se necesita un plugin adicional para solucionar el problema.

 

Flot Charts

http://www.flotcharts.org/

Flot es una librería JavaScript para jQuery para visualizar datos, con un enfoque en el uso simple, aspecto atractivo y características interactivas.

? Ventajas

  • Fácil de usar y con amplia documentación disponible.
  • A la hora de hacer gráficos con ejes, admite múltiples ejes en Y(el eje vertical), lo cual es importante para poder correlacionar tendencias
  • Configuración Simple.

? Desventajas

  • Tiene un número limitado de tipos de gráficos que puedes hacer.

 

Chartist.js

https://gionkunz.github.io/chartist-js/

Chartist.js es una librería Javascript open-source con charts responsive. Genera los gráficos en SVG (al ser vectoriales son DPI-independientes). Es una librería muy sencilla de usar muy flexible y muy ligera  que ocupa sólo 10 Kb y no tiene dependencias.

? Ventajas

  • Gran flexibilidad al usar CSS
  • Utiliza formatos SVG para los gráficos
  • Completamente responsivo
  • Sin dependencias y fácil de configurar

? Desventajas

  • No todos los navegadores soportan sus animaciones.

 

Plot.ly

https://plot.ly/

Plotly es una librería Python que genera gráficos interactivos de calidad en línea. Ejemplos gráficos de líneas, diagramas de dispersión, gráficos de áreas, gráficos de barras, barras de error, diagramas de cajas, histogramas, mapas de calor, subtramas, ejes múltiples, gráficos polares y gráficos de burbujas.

? Ventajas

  • Gran soporte para ejes complejos y múltiples.
  • Herramientas integradas de zoom y filtrado en gráficos y mapas.
  • Tiene una documentación clara con opciones y ejemplos.
  • Gráficos interactivos.

? Desventajas

  • Los gráficos no funcionan en todos los navegadores.

 

Seaborn

http://seaborn.pydata.org/

Seaborn es una librería de visualización de datos para Python basada en matplotlib. Proporciona una interfaz de alto nivel para dibujar gráficos estadísticos atractivos e informativos.

? Ventajas

  • Genera gráficos atractivos visualmente.
  • Los gráficos tienen muchas características para  personalizar.
  • Documentación clara y muchos ejemplos disponibles.

? Desventajas

  • Si estás acostumbrado a la librería para python Matplotlib los parámetros en Seaborn son diferentes aunque Seaborn esté basado en Matplotlib, esto puede ser confuso.

Por Pamela Gonzáles