Gráfico de burbujas en plotly

Gráficos de burbujas en plotly

Un gráfico de burbujas es un gráfico de dispersión en el que los marcadores se redimensionan en base a una variable numérica. Puedes crear gráficos de burbujas o bubble plots en Python con la función scatter de plotly express. Para crear esta visualización tendrás que pasar las coordenadas de las burbujas a x e y y sus respectivos tamaños a size, como en el ejemplo siguiente.

import plotly.express as px

fig = px.scatter(x = [5, 7, 3, 6, 1, 9, 2],
                 y = [2, 6, 2, 1, 4, 1, 6],
                 size = [30, 25, 250, 12, 140, 80, 36])

fig.show()

Tamaño máximo de las burbujas

El tamaño máximo por defecto de las burbujas es 20, pero puedes sobrescribirlo con size_max. Problablemente querrás establecer un tamaño mayor, tal y como se hizo en el ejemplo.

import plotly.express as px

fig = px.scatter(x = [5, 7, 3, 6, 1, 9, 2],
                 y = [2, 6, 2, 1, 4, 1, 6],
                 size = [30, 25, 250, 12, 140, 80, 36],
                 size_max = 50)

fig.show()

Color de las burbujas

Pasando un array con un único color a color_discrete_sequence podrás personalizar el color azul por defecto de las burbujas. También puedes cambiar la transparencia de las mismas con opacity, que toma valores entre 0 y 1.

import plotly.express as px

fig = px.scatter(x = [5, 7, 3, 6, 1, 9, 2],
                 y = [2, 6, 2, 1, 4, 1, 6],
                 size = [30, 25, 250, 12, 140, 80, 36],
                 size_max = 50,
                 color_discrete_sequence = ['red'], opacity = 0.7)

fig.show()

Color de las burbujas en base a categorías

Si las burbujas están asignadas a categorías o grupos puedes utilizar el argumento color para establecer colores en base a esos grupos.

import plotly.express as px

fig = px.scatter(x = [5, 7, 3, 6, 1, 9, 2],
                 y = [2, 6, 2, 1, 4, 1, 6],
                 size = [30, 25, 250, 12, 140, 80, 36],
                 size_max = 50,
                 color = ['A', 'A', 'B', 'C', 'B', 'A', 'C'])

fig.show()

Recuerda que los colores por defecto se pueden personalizar con color_discrete_sequence o con color_discrete_map, como en el ejemplo siguiente.

import plotly.express as px

fig = px.scatter(x = [5, 7, 3, 6, 1, 9, 2],
                 y = [2, 6, 2, 1, 4, 1, 6],
                 size = [30, 25, 250, 12, 140, 80, 36],
                 size_max = 50,
                 color = ['A', 'A', 'B', 'C', 'B', 'A', 'C'],
                 color_discrete_map = {'A': 'orange', 'B': 'blue', 'C': 'green'})

fig.show()

Color en base al tamaño de las burbujas

Puedes asignar el color a una variable numérica. En este escenario las burbujas se colorearán con una paleta de colores continua. Recuerda que es posible establecer otra paleta de colores con color_continuous_scale.

import plotly.express as px

fig = px.scatter(x = [5, 7, 3, 6, 1, 9, 2],
                 y = [2, 6, 2, 1, 4, 1, 6],
                 size = [30, 25, 250, 12, 140, 80, 36],
                 size_max = 50,
                 color = ['A', 'A', 'B', 'C', 'B', 'A', 'C'])

fig.show()

Gráfico de burbujas con gráficos marginales

La función scatter proporciona los argumentos marginal_x y marginal_y que permiten agregar gráficos marginales a los gráficos de burbujas. Las posibles opciones son 'box' para box plots, 'violin' para gráficos de violín, 'histogram' para histogramas y 'rug' para rug plots.

import plotly.express as px

fig = px.scatter(x = [5, 7, 3, 6, 1, 9, 2],
                 y = [2, 6, 2, 1, 4, 1, 6],
                 size = [30, 25, 250, 12, 140, 80, 36],
                 size_max = 50,
                 marginal_x = "box", marginal_y = "box")

fig.show()
Storytelling con Datos

Visualización de datos para profesionales

Comprar en Amazon
Fundamentals of Data Visualization

A Primer on Making Informative and Compelling Figures

Comprar en Amazon

También te puede interesar