Plotly Box Plot
Este tutorial discutirá la creación de un box plot usando la función box()
de Plotly.
Gráfico de caja de Plotly
Un diagrama de caja en Plotly representa la distribución de una variable a través de sus cuartiles. Los extremos del cuadro describen los cuartiles inferior y superior, mientras que una línea dentro del cuadro marca la mediana o el segundo cuartil.
Podemos usar la función box()
de Plotly para crear un diagrama de caja de los datos dados. Debemos proporcionar el dataframe o valores y etiquetas dentro de la función box()
para crear el diagrama de caja.
El siguiente código crea un diagrama de caja de algunos datos aleatorios.
import plotly.express as px
labels = ["A", "B", "C"]
value = [[10, 50, 30], [20, 30, 60], [10, 20, 30], [10, 10, 10]]
fig = px.box(x=labels, y=value, width=500, height=400)
fig.show()
Producción:
El argumento width
y height
se utiliza para establecer el ancho y el alto de la figura en píxeles. Podemos dar a cada celda un color predeterminado usando el argumento color
y establecer su valor en las etiquetas.
Podemos establecer la orientación de las cajas usando el argumento orientation
y una cadena h
para orientación horizontal y v
para orientación vertical. Podemos configurar el eje a escala logarítmica usando log_x
para el eje x y log_y
para el eje y y establecer su valor en verdadero.
Podemos establecer la forma de las cajas en muescas usando el argumento notched
y establecer su valor en verdadero. Podemos darle un título al gráfico usando el argumento title
.
Podemos usar facet_col
y facet_row
para crear subparcelas con celdas separadas y establecer su valor en una lista de enteros o cadenas para establecer el título de la subparcela. Podemos establecer la distancia entre dos subparcelas utilizando facet_col_spacing
para el espacio entre columnas y facet_row_spacing
para el espacio entre filas.
El siguiente código cambia los argumentos mencionados anteriormente.
import plotly.express as px
labels = ["A", "B", "C"]
value = [[10, 50, 30], [20, 30, 60], [10, 20, 30], [10, 10, 10]]
fig = px.box(
x=labels,
y=value,
width=700,
height=400,
color=labels,
notched=True,
title="Plotly Box Plot",
facet_col=[1, 2, "b"],
)
fig.show()
Producción:
Por defecto, la función box()
le da a cada celda un color diferente, pero podemos establecer el color de cada celda usando los argumentos color
y color_discrete_map
. Debemos pasar la etiqueta de cada celda dentro del argumento color y luego darle un color a cada etiqueta usando el argumento color_discrete_map
para cambiar el color de cada celda. Si no definimos el color de una etiqueta, la función box()
automáticamente le da un color aleatorio.
El siguiente código establece el color de cada celda.
import plotly.express as px
labels = ["A", "B", "C"]
value = [[10, 50, 30], [20, 30, 60], [10, 20, 30], [10, 10, 10]]
fig = px.box(
x=labels,
y=value,
width=700,
height=400,
color=labels,
color_discrete_map={
"A": "green",
"B": "cyan",
"C": "yellow",
},
)
fig.show()
Producción:
Podemos cambiar la escala o secuencia de colores predeterminada para establecer el color de cada celda usando el argumento color_discrete_sequence
. El valor del argumento debe ser una lista de colores CSS válidos. Podemos usar la secuencia de colores incorporada de Plotly como Vivid
, Light24
y Dark2
.
El siguiente código cambia los colores del gráfico circular utilizando la secuencia de colores Dark2
.
import plotly.express as px
labels = ["A", "B", "C"]
value = [[10, 50, 30], [20, 30, 60], [10, 20, 30], [10, 10, 10]]
fig = px.box(
x=labels,
y=value,
width=700,
height=400,
color=labels,
color_discrete_sequence=px.colors.qualitative.Dark2,
)
fig.show()
Producción:
Para cambiar la secuencia de colores en el código, debemos cambiar el nombre de la secuencia de colores de Dark2
a Vivid
. Visite este enlace para obtener más detalles sobre la secuencia de colores de Plotly.
Podemos actualizar los rastros de la función bar()
usando la función fig.update_traces()
. Podemos cambiar el color de relleno de los cuadros usando el argumento fillcolor
y establecer su valor en un nombre de color como amarillo. Podemos cambiar la opacidad de las cajas usando el argumento opacity
y establecer su valor de 0 a 1.
Podemos establecer el grupo de títulos de la leyenda usando el argumento legendgrouptitle_text
y establecer su valor en una cadena.
El siguiente código cambia los rastros mencionados anteriormente usando la función fig.update_traces()
.
import plotly.express as px
labels = ["A", "B", "C"]
value = [[10, 50, 30], [20, 30, 60], [10, 20, 30], [10, 10, 10]]
fig = px.box(x=labels, y=value, width=700, height=400, color=labels)
fig.update_traces(fillcolor="yellow", opacity=0.8, legendgrouptitle_text="LegendTitle")
fig.show()
Producción:
Visite este enlace para obtener más detalles sobre los seguimientos de la función box()
.