Visualización de datos con Plotly

por | Nov 25, 2019

A día de hoy existen herramientas de visualización de datos como D3.js, pero la curva de aprendizaje para esas herramientas crece muy despacio con el tiempo. Es decir, además de requerir una mano experta en el lenguaje de programación JavaScript, también es importante tener mucha paciencia.

Una alternativa a la librería D3.js es Plotly, que además de ofrecer gráficas interactivas, no exige conocimientos avanzados de la programación. Plotly ofrece un dashboard, donde el usuario puede crear plots arrastrando y soltando datos (es decir, una interfaz gráfica muy friendly). Además, también ofrece varias librerías para crear plots utilizando lenguajes de programación como Python, R y Java. En este artículo, vamos a crear varias gráficas utilizando el lenguaje de programación de Python.

¿Cómo empezar con Plotly?

Antes de empezar a dibujar gráficas en Plotly, tenemos que saber que existen tres principales objetos en Plotly:

  • Data: como es de esperar, lo primero que tenemos que preparar es el objeto data (básicamente, este objeto no son más que los datos que queremos dibujar). A la colección de datos junto con las especificaciones a dibujar se le llama trace (o traza en español).
  • Layout: es el objeto donde especificamos el título principal, los títulos de los ejes, los colores, formas, anotaciones, etc.
  • Figure: el objeto figure es el resultado final de combinar los objetos data y layout.

Visualización de datos con Plotly utilizando Python

Vamos a crear nuestra primera gráfica en Plotly utilizando la librería plotly en Python. Para instalar dicha librería, tenemos que proceder con lo siguiente (muy importante tener Anaconda instalado):

  • Windows: hacer click en inicio y buscar anaconda prompt. Una vez que se abra el terminal, tenemos que teclear el comando conda install plotly.
  • Linux y MacOS: tenemos que abrir un terminal y poner el comando conda install plotly.

A continuación, abrimos anaconda y hacemos click en el botón Launch de Spyder. En esta ocasión, vamos a crear un scatter plot, es decir, una gráfica de dispersión utilizando datos generados aleatoriamente utilizando la librería numpy.

Lo primero que tenemos que hacer es importar las librerías que vamos a utilizar.

import numpy as np
from plotly.offline import plot
from plotly.graph_objs import *

y a continuación generamos los datos de forma aleatoria.

N = 10
datos_x = np.linspace(0, 1, N)
datos_y = np.random.randn(N)

En este caso nos hemos inventado diez puntos de forma aleatoria. En un caso real, debe haber un criterio de selección para generar dichos puntos. Ahora que tenemos los datos, procedemos a crear el objeto Data especificando el tipo de gráfica que queremos, en este caso es un Scatter.

objeto_Trace = {
  "x": datos_x, 
  "y": datos_y, 
  "mode": "lines+markers", 
  "type": "scatter"
  }

objeto_Data = Data([objeto_Trace])

A la hora de crear el objeto Layout, añadimos unos rangos a nuestra gráfica, tanto en el eje x como en el eje y.

objeto_Layout = {
  "xaxis": {
    "autorange": True, 
    "range": [0, 10], 
    "type": "linear"
  }, 
  "yaxis": {
    "autorange": True, 
    "range": [0, 20], 
    "type": "linear"
  }
}

Una vez creado el objeto layout, generamos el objeto Figure.

objeto_Figure = Figure(data=objeto_Data, layout=objeto_Layout)

y por último, generamos la gráfica.

plot(objeto_Figure, filename='mi_grafica')

lo cual nos guardará en nuestro ordenador un archivo llamado mi_grafica.html. Si abrimos dicho archivo, veremos algo así:

visualización de datos en plotly

Próximos pasos

Para seguir aprendiendo sobre Plotly, te recomendamos mirar la documentación de Plotly.

Además, en Nebulova te ofrecemos tanto masters como cursos avanzados para que adquieras un nivel alto en cuanto a visualización de datos utilizando diferentes tools como Plotly, Bokeh, Seaborn y Power BI.

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *