Diagrama de caja en Plotly usando la clase graph_objects

Plotly es una biblioteca de Python que se utiliza para diseñar gráficos, especialmente gráficos interactivos. Puede trazar varios gráficos y cuadros como histograma, diagrama de barras, diagrama de caja, diagrama de dispersión y muchos más. Se utiliza principalmente en el análisis de datos, así como en el análisis financiero. plotly es una biblioteca de visualización interactiva.

Diagrama de caja utilizando la clase de objetos gráficos

Si Plotly Express no se adapta a un buen punto de partida, entonces también es posible usar la clase go.Box más genérica de plotly.graph_objects. El diagrama de caja es una forma consistente de distribución de datos que se basa en cinco componentes principales que se muestran a continuación:

  • Mínimo: el punto de datos más bajo excluyendo cualquier valor atípico.
  • Máximo: el punto de datos más grande excluyendo cualquier valor atípico.
  • Mediana (Q2 / 50th Percentil): el valor medio del conjunto de datos.
  • Primer cuartil (Q1/percentil 25): también conocido como el cuartil inferior qn(0,25), es la mediana de la mitad inferior del conjunto de datos.
  • Tercer cuartil (Q3/percentil 75): también conocido como el cuartil superior qn(0,75), es la mediana de la mitad superior del conjunto de datos.

Sintaxis:class plotly.graph_objects.Box(arg=Ninguno, alineacióngrupo=Ninguno, boxmean=Ninguno, boxpoints=Ninguno, customdata=Ninguno, customdatasrc=Ninguno, dx=Ninguno, dy=Ninguno, fillcolor=Ninguno, hoverinfo=Ninguno, hoverinfosrc=Ninguno , hoverlabel=Ninguno, hoveron=Ninguno, hovertemplate=Ninguno, hovertemplatesrc=Ninguno, hovertext=Ninguno, hovertextsrc=Ninguno, ids=Ninguno, idssrc=Ninguno, jitter=Ninguno, legendgroup=Ninguno, line=Ninguno, lowerfence=Ninguno, lowerfencesrc =Ninguno, marcador=Ninguno, mean=Ninguno, meanrc=Ninguno, mediana=Ninguno, mediansrc=Ninguno, meta=Ninguno, metasrc=Ninguno, name=Ninguno, notched=Ninguno, notchspan=Ninguno, notchspansrc=Ninguno, notchwidth=Ninguno , offsetgroup=Ninguno, opacity=Ninguno, orientación=Ninguno, pointpos=Ninguno, q1=Ninguno, q1src=Ninguno, q3=Ninguno, q3src=Ninguno, quartilemethod=Ninguno, sd=Ninguno, sdsrc=Ninguno, selected=Ninguno, puntos seleccionados =Ninguno, showlegend=Ninguno, stream=Ninguno, text=Ninguno, textsrc=Ninguno, uid=Ninguno, uirevision=Ninguno,unselected=Ninguno, upperfence=Ninguno, upperfencesrc=Ninguno, visible=Ninguno, whiskerwidth=Ninguno, width=Ninguno, x=Ninguno, x0=Ninguno, xaxis=Ninguno, xcalendar=Ninguno, xsrc=Ninguno, y=Ninguno, y0= Ninguno, yaxis=Ninguno, ycalendar=Ninguno, ysrc=Ninguno, **kwargs)

Parámetros:  
x: establece las coordenadas o los datos de muestra x. Consulte la descripción general para obtener más información. 
y: Establece las coordenadas o los datos de la muestra y. Consulte la descripción general para obtener más información. 
hoverinfo: determina qué información de rastreo aparece al pasar el mouse. 
marcador: Instancia o dict con propiedades compatibles. 
media: Establece los valores medios. 
mediana: Establece los valores medianos. 
 

Ejemplo:

Python3

import plotly.graph_objects as px
import numpy as np
 
 
# creating random data through randomint
# function of numpy.random
np.random.seed(42)
 
random_y1= np.random.randint(1,101,100)
random_y2= np.random.randint(1,101,100)
 
x = ['A', 'B', 'C', 'D']
 
plot = px.Figure()
 
plot.add_trace(px.Box(y=random_y1))
plot.add_trace(px.Box(y=random_y2))
 
plot.show()

Producción:

Diagrama de caja horizontal

El diagrama de caja horizontal es un diagrama de caja en el que la variable x y los valores de y se muestran horizontalmente en el gráfico. Se puede crear pasando el argumento x del diagrama de caja.

Ejemplo: use el argumento x para gráficos horizontales

Python3

import plotly.graph_objects as px
import numpy as np
 
 
# creating random data through randomint
# function of numpy.random
np.random.seed(42)
 
random_x1= np.random.randint(1,101,100)
random_x2= np.random.randint(1,101,100)
 
x = ['A', 'B', 'C', 'D']
 
plot = px.Figure()
 
plot.add_trace(px.Box(x=random_x1))
plot.add_trace(px.Box(x=random_x2))
 
plot.show()

Producción: 

Hallar la media y la desviación estándar

La media y la desviación estándar de los datos trazados por diagrama de caja se pueden encontrar utilizando el parámetro boxmean. Puede tomar dos valores:

  • Verdadero para la media
  • sd para la desviación estándar.

Ejemplo:

Python3

import plotly.graph_objects as px
import numpy as np
 
 
# creating random data through randomint
# function of numpy.random
np.random.seed(42)
 
random_x1= np.random.randint(1,101,100)
random_x2= np.random.randint(1,101,100)
 
x = ['A', 'B', 'C', 'D']
 
plot = px.Figure()
 
plot.add_trace(px.Box(x=random_x1, marker_color = 'indianred', boxmean=True))
plot.add_trace(px.Box(x=random_x2, marker_color='royalblue', boxmean='sd'))
 
plot.show()

Producción:

Cambio de algoritmos para cuartiles

El algoritmo para elegir cuartiles también se puede seleccionar en plotly. Se calcula usando un algoritmo lineal por defecto. Sin embargo, proporciona dos algoritmos más para hacer lo mismo, es decir , inclusivo y exclusivo . Se puede hacer pasando el argumento del método del cuartil.

Ejemplo 1:

Python3

import plotly.graph_objects as px
import numpy as np
 
 
# creating random data through randomint
# function of numpy.random
np.random.seed(42)
 
random_y= np.random.randint(1,101,100)
 
x = ['A', 'B', 'C', 'D']
 
plot = px.Figure()
 
plot.add_trace(px.Box(y=random_y, quartilemethod="linear", name="linear"))
plot.add_trace(px.Box(y=random_y, quartilemethod="inclusive", name="inclusive"))
plot.add_trace(px.Box(y=random_y, quartilemethod="exclusive", name="exclusive"))
 
plot.show()

Producción:

Mostrando los datos subyacentes

Los datos subyacentes se pueden mostrar usando los argumentos de puntos de caja. El valor de este argumento puede ser de tres tipos:

  • todo por todos los puntos
  • valores atípicos solo para valores atípicos
  • falso para ninguno de los anteriores

Ejemplo:

Python3

import plotly.graph_objects as px
import numpy as np
 
 
# creating random data through randomint
# function of numpy.random
np.random.seed(42)
 
random_y1= np.random.randint(1,101,100)
random_y2= np.random.randint(1,101,100)
 
x = ['A', 'B', 'C', 'D']
 
plot = px.Figure()
 
plot.add_trace(px.Box(y=random_y1, boxpoints="all"))
plot.add_trace(px.Box(y=random_y2, boxpoints="outliers"))
 
 
plot.show()

Producción:

Publicación traducida automáticamente

Artículo escrito por nishantsundriyal98 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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