Visualización de datos de Python: gráfico de estadísticas de características de clasificación
En la lección anterior, hemos experimentado las ventajas de Seaborn sobre Matplotlib. Esta lección presentará las estadísticas de datos categóricos de Seaborn, que también es su punto fuerte.
Se pueden dibujar gráficos estadísticos para datos clasificados usando sns.catplot. Sus parámetros completos son los siguientes:
Esta lección utiliza un método deductivo para aprender primero. En esta función, la atención se centra en el significado de los parámetros utilizados habitualmente.
Otros parámetros también se pueden entender básicamente en función de sus nombres.
A continuación se presentarán varios tipos de gráficos estadísticos de clasificación según diferentes valores del parámetro tipo.
Lea el conjunto de datos:
Luego use este conjunto de datos para dibujar un gráfico y ver el efecto:
Resultado de salida:
Sin duda, lo que aquí se dibuja es un diagrama de dispersión. Sin embargo, la abscisa del diagrama de dispersión son los tres valores en el tiempo de la característica de clasificación, y hue = 'tipo' se usa para insertar la característica de clasificación en la imagen, es decir, los puntos de diferentes colores representan el valor de otra clasificación. tipo de característica y, finalmente, se obtiene el valor de la característica de pulso en cada registro bajo estas combinaciones de categorías, y se representa en el diagrama anterior. También se puede entender que x='time' y hue='kind' introducen dos dimensiones de características en el gráfico.
En la declaración ①, no hay una declaración especial del valor del tipo de parámetro. En este momento, se utiliza el valor predeterminado 'strip'.
Existe otra función correspondiente, sns.stripplot, que es equivalente a ①.
Resultado de salida:
② tiene el mismo efecto que ①.
Sin embargo, los dos parámetros fila y col en sns.catplot no están disponibles en funciones propietarias como sns.stripplot. Por lo tanto, la siguiente figura solo puede ser concisa e intuitiva usando sns.catplot.
Resultado de salida:
Sin embargo, desde otra perspectiva, las funciones patentadas como sns.stripplot son simples de expresar y sus parámetros son algo diferentes de sns.catplot. Simplificado y más fácil de usar. .
Después de una cuidadosa comparación, sns.catplot y sns.stripplot son ligeramente diferentes, aunque en general son comunes.
Por lo tanto, no busques uno como omnipotente, cada uno tiene su propio uso y su existencia es razonable.
Sin embargo, tenga en cuenta la siguiente afirmación: Si no es absolutamente necesario, como dibujar un mapa de partición, demostraremos cómo utilizar funciones con nombres distinguidos más adelante en esta lección.
Esta función se ha explicado preliminarmente antes. Por motivos de formato completo, se repite aquí, es decir, el parámetro kind='strip' en sns.catplot.
Si tienes que traducir esta función al chino, puedes llamarla "diagrama de dispersión de barras". Tome la característica de clasificación como un eje de coordenadas y, en el otro eje de coordenadas, de acuerdo con la característica de clasificación, trace los valores continuos en el registro donde se encuentran los datos de la característica de clasificación a lo largo del eje de coordenadas.
En el gráfico de resultados del enunciado ②, podemos ver que aunque estos puntos tienen el mismo valor en el eje vertical, no se superponen.
Por lo tanto, lo que vemos parece ser un "paquete" de puntos dispersos. De hecho, las abscisas de todos los puntos deberían ser los datos de clasificación de características correspondientes. No debemos entender el valor de las características de clasificación como un rango. para ilustrar las necesidades visuales.
Resultado de salida:
La ilustración de ④ en relación con ② es que los mismos valores del eje vertical se superponen en este momento; originalmente, sus valores del eje horizontal son los mismos . El parámetro para lograr este efecto es jitter=0, que puede representar la "vibración" del punto. Si está predeterminado o jitter=True, significa que el punto de seguimiento puede vibrar en un rango determinado: el efecto de la declaración ②. También se puede configurar en un cierto valor de 0 a Un punto flotante de 1, que indica la amplitud de vibración permitida. Por favor compare las operaciones a continuación.
Resultado de salida:
Utilice el parámetro hue='kind' en la declaración ② para proporcionar otra característica de clasificación al gráfico. Sin embargo, si cree que el gráfico está un poco desordenado, puede hacerlo. también puede hacer esto:
Resultado de salida:
La función de dodge=True es separar los datos de características introducidos por hue='kind', que es bastante diferente del efecto de ②.
Además, paletar='Set2' también se usa en ⑤ para establecer la combinación de colores.
Para otros parámetros relevantes en la función sns.stripplot, consulte el documento de ayuda.
Esta función es el parámetro kind='swarm' de sns.catplot.
Resultado de salida:
Dibuje otro diagrama simple y estudie la esencia de este diagrama nuevamente.
Resultado de salida:
Esta figura solo utiliza los datos de una característica para simplificar la apariencia y explorar la esencia de sns.swarmplot. También traza los datos de esta característica en el gráfico en función de los valores continuos de otras características, y todos los puntos no se superponen entre sí de forma predeterminada; esto es lo mismo que sns.stripplot. Sin embargo, la diferencia es que estos puntos no se distribuyen aleatoriamente después del ajuste, sino que se distribuyen de manera uniforme y simétrica en ambos lados de la línea recta donde se encuentran los valores de las características de clasificación, que pueden representar bien las características de distribución de los datos. Sin embargo, este enfoque no es adecuado para "grandes datos".
Los parámetros de sns.swarmplot no parecen ser nada demasiado especiales. Utilice algunos de los siguientes para familiarizarse con las operaciones básicas.
En la dimensión de clasificación, también puedes introducir otra dimensión, usando puntos de diferentes colores para representar otra categoría, es decir, usando el parámetro tono.
Resultado de salida:
Aquí, el parámetro hue = 'smoker' se utiliza para introducir una característica de clasificación, que se distingue por diferentes colores en la imagen.
Si cree que los valores de la función de fumador están todos mezclados y es un poco complicado, también puede utilizar el siguiente método para separarlos: repita la misma melodía de siempre.
Resultado de salida:
El parámetro que genera este efecto es dodge=True. Su función es clasificar los datos de la característica de tono después de que el parámetro de tono establece la característica.
El tipo de parámetro de la función sns.catplot puede tener tres valores, todos los cuales se utilizan para dibujar gráficos de distribución de clasificación:
Las tres funciones propietarias se describen a continuación.