Bokeh: otra libreria de visualizacion de Python

 

Bokeh: la biblioteca de visualización Python de nueva generación

Bokeh

El análisis de datos ofrece muchas oportunidades. Sin embargo, interpretar los datos en bruto puede resultar difícil para los usuarios no técnicos de una empresa. Al presentar la información relevante de forma clara y explícita, la Data Visualisation pone remedio a ese problema y permite que cualquiera pueda sacarle partido al Big Data.

Si ya estás familiarizado con bibliotecas de Data Visualisation como Matplotlib o Seaborn, hoy vamos a ver por qué tienes que añadir Bokeh a tu kit de herramientas de Data Visualisation.

Al igual que sus bibliotecas hermanas, Bokeh es una biblioteca de Python de Data Visualisation que permite crear gráficos y objetos visuales elegantes y de aspecto profesional, como diagramas de líneas, de barras, histogramas, distribuciones, etc. con leyendas, texto u otras anotaciones. Pero en lo que Bokeh se diferencia es en la interactividad de sus gráficos, su representación multiplataforma y su grado de personalización.

¿Por qué es Bokeh una biblioteca interactiva?

Con unas pocas líneas de código Python, Bokeh crea gráficos alimentados por Javascript que proporcionan una interactividad y un dinamismo sin precedentes.

El proceso de ejecución del código de Bokeh tiene dos vertientes: en primer lugar, elegimos un bloque de entre los bloques preconstruidos de Bokeh para crear nuestra visualización y, a continuación, se añade código adicional para personalizar estos bloques de forma y que se ajusten al máximo a nuestras necesidades.

A partir de nuestro código Python, Bokeh convertirá este código a JSON y lo pasará a BokehJS, una biblioteca Javascript, que a su vez pasará esta información a los navegadores web modernos para su visualización en una pestaña web.

Las funcionalidades de interacción en nuestro gráfico son nativas de Bokeh, es decir, incluso el gráfico más simple presenta estas funcionalidades en lo que llamaremos una caja de herramientas en el lateral (derecho por defecto) del gráfico:

  • Desplazarse por el gráfico para seleccionar un área
  • Hacer zoom en una zona definida del gráfico
  • Hacer zoom con el ratón
  • Guardar el gráfico en un archivo PNG
  • Restablecer la configuración por defecto del gráfico
  • Ventana de ayuda para aprender a utilizar la caja de herramientas de interacción

 

Podemos añadir nuevas herramientas a esta caja de herramientas utilizando el método add_tools() donde, por ejemplo, puedes añadir funcionalidades al pasar el ratón por encima utilizando la clase HoverTool.

Desde un punto de vista más práctico, Bokeh es fácil de utilizar. Funciona con el sistema de capas adicionales que se van añadiendo a medida que se ejecuta el código. Así, después de crear nuestra figura, podemos añadir un nuevo tipo de gráfico, superponiendo esta nueva capa sobre el gráfico existente.

  

 

Por otra parte, Bokeh ofrece la posibilidad de crear y utilizar widgets en nuestro gráfico, prometiendo un visual dinámico y más interactivo que nunca.

De hecho, gracias a la clase CustomJS del submódulo bokeh.models, la actualización de valores mediante sliders, casillas de verificación o campos de formulario se convierte en un juego de niños. Los objetos CustomJS permiten establecer el vínculo entre los objetos Python manipulados y los objetos Javascript que Bokeh utiliza para generar y mostrar las figuras. Muy cercanos al lenguaje Javascript en su diseño de widgets, suponen una auténtica revolución para la visualización de datos pasando de visualizaciones 2D estáticas a visualizaciones interactivas, dinámicas, modificables y adaptables a todas las necesidades.

Además, combinando esta funcionalidad de Bokeh con la que permite elegir el tipo de visualización entre una imagen PNG, un notebook o un archivo web en formato HTML, nos damos cuenta de que Bokeh es mucho más que una librería de visualización, ya que casi permite crear aplicaciones web de visualización de datos, como muestra este ejemplo extraído directamente de la documentación de Bokeh.

Bokeh está a medio camino entre la biblioteca de visualización habitual y una biblioteca de creación de aplicaciones de datos como Streamlit.

Aún mejor, para conseguir la auténtica representación de una aplicación web de visualización de datos, Bokeh permite mostrar y recopilar datos visualizados a partir de un Streaming de datos, en tiempo real, procedentes de fuentes como mercados financieros, sensores físicos o IOT.

Bokeh, una biblioteca personalizable

Por otro lado, Bokeh permite una personalización casi infinita del resultado. Si nos fijamos en el último gráfico, es posible modificar cada uno de los diferentes aspectos mostrados para obtener una representación única añadiendo capas de especificaciones según se desee.

Añadiendo unas pocas líneas más de especificación al código anterior, tendremos:

 

# Personnalisation de la légende
p.legend.location = "top_left"  # emplacement de la légende
p.legend.title = "Ma légende"  # titre

p.legend.label_text_font = "arial"      # Police d'écriture
p.legend.label_text_font_style = "italic" # Style d'écriture
p.legend.label_text_color = "white"      # Couleur d'écriture

p.legend.border_line_width = 2
p.legend.border_line_color = "red"    # couleur de bordure
p.legend.border_line_alpha = 0.8       # Transparence de bordure
p.legend.background_fill_color = "red"# Couleur de remplissage
p.legend.background_fill_alpha = 0.2   # Transparence de l'arrière plan

# Affichage des resultats
show(p)
 
 

Comentarios

Entradas más populares de este blog

TEST DE VARIABLES EN PYTHON

PySDR: una guía para SDR y DSP usando Python by Dr. Marc Lichtman. Introducciòn.

LEER Y CONVERTIR AUDIOS CON PYTHON EN GOOGLE COLAB