Seaborn dibuja diagramas de caja

Número público: You Er Hut
Autor: Peter
Editor: Peter

Hola a todos, mi nombre es Peter~

Este artículo describe cómo utilizar el método boxplot de seaborn para dibujar diagramas de caja. Veamos primero el efecto de dibujo de algunos gráficos:

parámetro

Los principales parámetros para dibujar el gráfico son los siguientes:

Para obtener más información, consulte la dirección del sitio web oficial: seaborn.pydata.org/generated/s…

diagrama de caja

Un gráfico de caja es un gráfico estadístico que se utiliza para mostrar un conjunto de información de dispersión de datos. Puede mostrar rápidamente valores atípicos en los datos. Tiene forma de caja, de ahí su nombre. También se denomina gráfico de caja y bigotes. , diagrama de caja o diagrama de caja .

En 1977, el famoso matemático estadounidense John W. Tukey introdujo por primera vez el diagrama de caja en su libro "Análisis exploratorio de datos".

Los cuartiles son el concepto más importante en los diagramas de caja. La brecha entre Q3 y Q1 se llama InterQuartile Range (IQR) : IQR=Q3-Q1

datos integrados

Seaborn también tiene su propio conjunto de datos integrado:

import seaborn as sns
# style设置
sns.set_theme(style="whitegrid")  
复制代码

consejos

Consejos sobre conjuntos de datos de consumo

iris

Conjunto de datos de iris conocido

Diagrama de caja horizontal

En [4]:

# 方式1:指定x为某个Series型数据

ax = sns.boxplot(x=tips["total_bill"])
复制代码
# 方式2:传入x和data参数
ax = sns.boxplot(x="total_bill",
                data=tips)
复制代码

Diagrama de caja vertical

En [6]:

ax = sns.boxplot(y=tips["total_bill"])

# 方式2:传入y和data参数
# ax = sns.boxplot(y="total_bill", data=tips)
复制代码

orientación de parámetros

En [7]:

ax = sns.boxplot(x="day",y="total_bill", data=tips)
复制代码

Cambia la posición de xy:

ax = sns.boxplot(y="day",x="total_bill", data=tips)
复制代码

orden de parámetros

Ordena el parámetro especificado

En [11]:

# 默认情况
ax = sns.boxplot(
    x="sex",
    y="tip", 
    data=tips
)
复制代码

En el siguiente ejemplo, introducimos el orden de los parámetros, principalmente para ver las dos etiquetas en el eje x;

En [12]:

ax = sns.boxplot(
    x="sex",
    y="tip", 
    data=tips,
    order=["Female","Male"]  # 引入参数
)
复制代码

A diferencia de la clasificación predeterminada, se muestra en el orden especificado:

Uso de tono de parámetro

El parámetro tono se utiliza principalmente para ajustar la barra de color.

En [13]:

ax = sns.boxplot(
    x="day",
    y="tip", 
    data=tips,
    hue="sex"  # 引入参数
)
复制代码

Parámetros hue_order

En [14]:

ax = sns.boxplot(
    x="day",
    y="tip", 
    data=tips,
    hue="sex",
    hue_order=["Female","Male"]  # 引入参数
)
复制代码

Paleta de parámetros

Use la paleta para establecer la versión de color.

En [15]:

ax = sns.boxplot(
    x="day",
    y="tip", 
    data=tips,
    hue="sex",
    palette="Set3"  # 颜色版
)
复制代码

ax = sns.boxplot(
    x="day",
    y="tip", 
    data=tips,
    hue="sex",
    palette="Set2"  # 颜色版
)
复制代码

parámetro de tamaño

Principalmente la configuración de saturación, ancho, tamaño de volante, ancho de línea, whis

En 19]:

# 全部是默认情况
ax = sns.boxplot(x="sex",y="tip", data=tips, hue="day")
复制代码

ax = sns.boxplot(
    x="sex",
    y="tip", 
    data=tips,
    hue="day",
    width=0.7,
    linewidth=3,
)
复制代码

ax = sns.boxplot(
    x="sex",
    y="tip", 
    data=tips,
    hue="day",
    width=0.7,
    linewidth=3,
    whis=3  # 引入whis
)
复制代码

muesca de parámetro

muesca personalizada

En [22]:

ax = sns.boxplot(
    x="day", 
     y="total_bill", 
     hue="sex",
     data=tips,
    notch=True   # 加入参数
)
复制代码

esquivar parámetro

Debe usarse con matiz para controlar si los diagramas de caja del mismo grupo se dibujan por separado o se superponen

En [23]:

ax = sns.boxplot(
	x="day", 
  y="total_bill", 
  hue="sex",
  data=tips, 
  dodge=False)
复制代码

ax = sns.boxplot(
    x="day", 
    y="total_bill",
    hue="sex",
    data=tips, 
    dodge=True)
复制代码

catplot - gráfico de clasificación

Combinación de diagramas de caja y diagramas de clasificación

En [26]:

ax = sns.catplot(
    x="sex", 
    y="total_bill",
    hue="smoker", 
    col="time",
    data=tips, 
    kind="box",  # 箱型图
    height=4, 
    aspect=.7)
复制代码

ax = sns.catplot(
    x="total_bill",
    y="sex",            
    hue="smoker", 
    col="time",
    data=tips, 
    orient="h",  # 水平方向
    kind="box",  # 箱型图
    height=4, 
    aspect=.7,
    palette="Set2"
)
复制代码

ax = sns.catplot(
    x="sex", 
    y="total_bill",
    hue="smoker", 
    col="time",
    data=tips, 
    kind="violin",  # 小提琴图
    height=4, 
    aspect=.7)
复制代码

Supongo que te gusta

Origin juejin.im/post/7085734471822999582
Recomendado
Clasificación