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()
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()
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()
También te puede interesar