Ir al contenido
  1. Cursos/
  2. Visualización de Información/

Herramientas

··5 mins

Existen muchas maneras de hacer visualización. En esta página enumeraremos algunas herramientas para el curso.

Python #

En clases utilizaremos las herramientas de Python a través de Jupyter. Nos enfocaremos en seaborn, matplotlib, pandas y geopandas.

Un buen libro introductorio a Data Science en Python es Python Data Science Handbook, de Jake Vanderplas. Disponible on-line en inglés.

Otro recurso interesante es una introducción a numpy y matplotlib por Sebastian Raschka (en inglés). numpy es la biblioteca base de pandas y otras para estructurar información.

matplotlib #

Es una biblioteca establecida y con mucha funcionalidad, pero con una curva de aprendizaje alta debido a presentar pocas abstracciones y alta complejidad técnica. Esta complejidad puede ser una fortaleza, pues permite que diseñemos e implementemos visualizaciones específicas para nuestros fines. En general, en matplotlib se crean figuras que contienen los siguientes elementos:

Anatomía de una figura en matplotlib. Fuente: https://matplotlib.org/stable/gallery/showcase/anatomy.html
Anatomía de una figura en matplotlib. Fuente: https://matplotlib.org/stable/gallery/showcase/anatomy.html

El cómo se configuren esos elementos dependerá de la codificación visual a utilizar para los datos disponibles. Eso lo veremos durante el curso.

La biblioteca dispone de documentación extensa y tutoriales en la red. Es posiblemente una de las más utilizadas para hacer gráficos, dada su disponibilidad para Python y su trayectoria de más de 15 años.

“Cheat Sheet” (torpedo) oficial de matplotlib: https://github.com/matplotlib/cheatsheets/.
Cheat Sheet (torpedo) oficial de matplotlib: https://github.com/matplotlib/cheatsheets/.

Algunos links:

seaborn #

Construida sobre matplotlib, seaborn es una biblioteca de alto nivel, que abstrae visualizaciones de manera fácil de configurar, desagregar, componer, y que incluye funcionalidad estadística. Eso quiere decir que seaborn también produce o manipula figuras, por tanto, se puede complementar con las herramientas propias de matplotlib u otras que también se construyan sobre la misma base.

Hay un tutorial oficial disponible.

pandas y geopandas #

pandas y geopandas son bibliotecas de análisis de datos (tabulares y geográficos, respectivamente). Incluyen funcionalidad básica de visualización, que puede ser extendida con código de matplotlib y seaborn, ya que en sí mismas sus funciones de visualización trabajan sobre figuras de matplotlib. pandas tiene un extenso módulo de visualización, al igual que geopandas.

aves #

aves es mi propio repositorio de herramientas, que he decidido empezar a recolectar y organizar para que quede disponible para este curso (y para quien desee utilizarlo en sus propios proyectos). Se puede descargar desde el repositorio aves en github.

Una visualización implementada con aves: un mapa de calor de viajes en Santiago a partir de la Encuesta Origen Destino 2012.
Una visualización implementada con aves: un mapa de calor de viajes en Santiago a partir de la Encuesta Origen Destino 2012

aves se construye sobre matplotlib, seaborn, pandas y geopandas, y otras bibliotecas de Python. Para quienes usan Windows, lamentablemente no podemos usar el código de aves de manera directa, ya que algunas bibliotecas son incompatibles con Windows (como graph-tool). Lo que se recomienda hacer es instalar el Windows Subsystem for Linux que crea una máquina virtual a la que se accede de manera natural desde Windows, incluyendo una consola. Eso permite ejecutar código dentro de Windows como si se estuviese en una distribución de GNU/Linux como Ubuntu (es lo que hago yo).

Otras bibliotecas en Python #

Las siguientes bibliotecas son modernas y trabajan con tecnología Web, es decir, permiten interactuar con la visualización a través del navegador.

  • Altair: alto nivel, foco en gramática de los datos en vez de un enfoque imperativo como matplotlib. Genera visualizaciones interactivas en HTML. Incluye una clase de conceptos de visualización.
  • plotly: alto nivel que provee la implementación de más de 40 técnicas de visualización con interactividad.
  • bokeh: similar a plotly, también provee técnicas de visualización con interactividad.

Alternativas a Python #

R #

  • ggplot2: alto nivel, foco en gramática de los datos.
  • shiny: alto nivel, foco en interactividad y composición.
  • Un buen libro introductorio es Data Visualization: a practical introduction, de Kieran Healy. Disponible on-line.
  • Un curso en castellano con live-coding es dictado por Derek Corcoran y está disponible en YouTube.

JavaScript #

  • d3.js: bajo nivel, foco en expresividad de los datos.
  • plot.ly: alto nivel, foco en visualización estadística.
  • p5.js: bajo nivel, foco en diseño, estética.
  • deck.gl: alto nivel, foco en 3D y visualización geográfica.
  • Vega: alto nivel, foco en gramática de los datos (Altair se construye sobre ésta).

Visualización basada en Web #

Las siguientes bibliotecas funcionan directamente en un navegador sin necesidad de instalar software adicional.

Rawgraphs #

Fuente: https://towardsdatascience.com/create-beautiful-art-from-your-personal-data-9dc0abfeeaf

Rawgraphs es una aplicación que permite copiar-y-pegar o subir ficheros para configurar distintos tipos de visualizaciones. Es intuitivo y directo de usar, y permite exportar la visualización en múltiples formatos, incluyendo imágenes o archivos que pueden ser editados en programas gráficos.

Kepler.gl #

Ejemplo de uso de Kepler.gl.

Kepler.gl es una aplicación que permite subir datos geográficos y visualizarlos en 3D de manera interactiva y fluída. Utiliza tecnologías 3D para presentar fluidez y desempeño, además de permitir configurar una visualización en pocos pasos. De manera interna utiliza deck.gl.

Programas #

  • Excel, LibreOffice, Google Sheets: permiten hacer gráficos para datos tabulares, con extensiones.
  • Power BI: potente y extensible, contiene muchas visualizaciones implementadas de múltiples fuentes de datos, permite conectarse a sus propias bases de datos.
  • Tableau: potente y extensible, contiene muchas visualizaciones implementadas de múltiples fuentes de datos, permite conectarse a sus propias bases de datos.
  • Qlikview: potente y extensible, contiene muchas visualizaciones implementadas de múltiples fuentes de datos, permite conectarse a sus propias bases de datos.
  • Gephi: software libre para visualización y análisis de redes.
  • QGIS: software libre, disponible en muchas plataformas. ¡Los sistemas de información geográfica también permiten hacer visualización!

Guías #