Gráfico de dispersión de matplotlib en Python

Gráfico de dispersión de matplotlib en Python
El humano puede comprender más la visual en comparación con la forma de texto. Es por eso que la gente siempre sugiere dibujar el gráfico de Big Data para comprenderlo de una manera muy fácil. Hay diferentes tipos de gráficos disponibles en el mercado como gráficos de barras, histogramas, gráficos circulares, etc. Estos diferentes gráficos se utilizan de acuerdo con el conjunto de datos y los requisitos. Por ejemplo, si tiene un conjunto de datos de desempeño de la compañía desde los últimos 10 años, entonces el gráfico de la tabla de barras dará más información sobre el crecimiento de la compañía. Entonces, así, la elección del gráfico depende del conjunto de datos y los requisitos.

Si es un científico de datos, entonces a veces tiene que manejar los big data. En esos big data, está procesando los datos, analizando los datos y luego generando el informe sobre eso. Para generar el informe al respecto, debe necesitar una imagen clara de los datos, y aquí se producen los gráficos.

En este artículo, vamos a explicar cómo usar el Gráfico de dispersión de matplotlib en Python.

El gráfico de dispersión es ampliamente utilizado por Data Analytics para descubrir la relación entre dos conjuntos de datos numéricos. Este artículo verá cómo usar Matplotlib.pyplot para dibujar una trama de dispersión. Este artículo le dará detalles completos que necesita trabajar en la trama de dispersión.

El matplotlib.Pypolt ofrece diferentes formas de trazar el gráfico. Para trazar el gráfico como una dispersión, usamos la función scatter ().

La sintaxis para usar la función scatter () es:

mate.pyplot.dispersión (x_data, y_data, s, c, marcador, CMAP, vmin, vmax, alfa, linewidths, edgecolors)

Todos los parámetros anteriores, veremos en los próximos ejemplos para comprender mejor.

Importar matplotlib.Pyplot como PLT
PLT.dispersión (x_data, y_data)

Los datos que pasamos en la dispersión x_data pertenecen al eje x, y y_data pertenece al eje y.

Ejemplos

Ahora, vamos a trazar el gráfico scatter () usando diferentes parámetros.

Ejemplo 1: Uso de los parámetros predeterminados

El primer ejemplo se basa en la configuración predeterminada de la función scatter (). Simplemente pasamos dos conjuntos de datos para crear una relación entre ellos. Aquí, tenemos dos listas: una pertenece a las alturas (h), y otro corresponde a sus pesos (W).

# scatter_default_arguments.py
# Importar la biblioteca requerida
Importar matplotlib.Pyplot como PLT
# H (altura) y w (peso) datos
H = [165, 173, 172, 188, 191, 189, 157, 167, 184, 189]
W = [55, 60, 72, 70, 96, 84, 60, 68, 98, 95]
# traza una trama de dispersión
PLT.dispersión (h, w)
PLT.espectáculo()

Producción: scatter_default_arguments.py

En la salida anterior, podemos ver los datos de pesas (w) sobre el eje y alturas (h) en el eje x.

Ejemplo 2: diagrama de dispersión () con sus valores de etiquetas (eje x y eje y) y título

En Ejemplo_1, simplemente dibujamos el gráfico de dispersión directamente con la configuración predeterminada. Ahora, vamos a personalizar la función de diagrama de dispersión uno por uno. Entonces, en primer lugar, agregaremos etiquetas a la trama, como se muestra a continuación.

# labels_title_scatter_plot.py
# Importar la biblioteca requerida
Importar matplotlib.Pyplot como PLT
# datos H y W
H = [165, 173, 172, 188, 191, 189, 157, 167, 184, 189]
W = [55, 60, 72, 70, 96, 84, 60, 68, 98, 95]
# traza una trama de dispersión
PLT.dispersión (h, w)
# Establezca los nombres de las Lables del eje
PLT.xlabel ("peso (w) en kg")
PLT.Ylabel ("Altura (H) en CM")
# Establecer el título del nombre del gráfico
PLT.Título ("Parcela de dispersión para altura y peso")
PLT.espectáculo()

Línea 4 a 11: Importamos la biblioteca matplotlib.pyplot y crea dos conjuntos de datos para el eje X y el eje Y. Y pasamos ambos conjuntos de datos a la función de diagrama de dispersión.

Línea 14 a 19: Establecimos los nombres de las etiquetas del eje X y el eje Y. También establecemos el título del gráfico de trazado de dispersión.

Producción: etiquetas_title_scatter_plot.py

En la salida anterior, podemos ver que la gráfica de dispersión tiene nombres de etiquetas de eje y el título de la trama de dispersión.

Ejemplo 3: Use el parámetro de marcador para cambiar el estilo de los puntos de datos

Por defecto, el marcador es una ronda sólida, como se muestra en la salida anterior. Entonces, si queremos cambiar el estilo del marcador, podemos cambiarlo a través de este parámetro (marcador). Incluso también podemos establecer el tamaño del marcador. Entonces, vamos a ver esto en este ejemplo.

# Marker_scatter_plot.py
# Importar la biblioteca requerida
Importar matplotlib.Pyplot como PLT
# datos H y W
H = [165, 173, 172, 188, 191, 189, 157, 167, 184, 189]
W = [55, 60, 72, 70, 96, 84, 60, 68, 98, 95]
# traza una trama de dispersión
PLT.dispersión (h, w, marcador = "v", s = 75)
# Establezca los nombres de las Lables del eje
PLT.xlabel ("peso (w) en kg")
PLT.Ylabel ("Altura (H) en CM")
# Establecer el título del nombre del gráfico
PLT.Título ("Parcela de dispersión donde cambia el marcador")
PLT.espectáculo()

El código anterior es el mismo que se explica en los ejemplos anteriores, excepto la línea a continuación.

Línea 11: Pasamos el parámetro del marcador y un nuevo signo utilizado por la gráfica de dispersión para extraer puntos en el gráfico. También establecemos el tamaño del marcador.

El siguiente resultado muestra puntos de datos con el mismo marcador que agregamos en la función de dispersión.

Producción: marker_scatter_plot.py

Ejemplo 4: Cambie el color de la trama de dispersión

También podemos cambiar el color de los puntos de datos de acuerdo con nuestra elección. Por defecto, se muestra con color azul. Ahora, cambiaremos el color de los puntos de datos de la gráfica de dispersión, como se muestra a continuación. Podemos cambiar el color de la trama de dispersión usando cualquier color que desee. Podemos elegir cualquier tuple RGB o RGBA (rojo, verde, azul, alfa). El rango de valor de cada elemento de tuple estará entre [0.0, 1.0], y también podemos representar el RGB o RGBA en el formato hexadecimal como #FF5733.

# scatter_plot_colour.py
# Importar la biblioteca requerida
Importar matplotlib.Pyplot como PLT
# datos H y W
H = [165, 173, 172, 188, 191, 189, 157, 167, 184, 189]
W = [55, 60, 72, 70, 96, 84, 60, 68, 98, 95]
# traza una trama de dispersión
PLT.dispersión (h, w, marcador = "v", s = 75, c = "rojo")
# Establezca los nombres de las Lables del eje
PLT.xlabel ("peso (w) en kg")
PLT.Ylabel ("Altura (H) en CM")
# Establecer el título del nombre del gráfico
PLT.Título ("Cambio de color de la trama de dispersión")
PLT.espectáculo()

Este código es similar a los ejemplos anteriores, excepto la línea a continuación donde agregamos la personalización del color.

Línea 11: Pasamos el parámetro "C", que es para el color. Asignamos el nombre del color "rojo" y obtuvimos la salida en el mismo color.

Si le gusta usar la tupla de color o la hexadecimal, simplemente pase ese valor a la palabra clave (c o color) como a continuación:

PLT.dispersión (h, w, marcador = "v", s = 75, c = "#FF5733")

En la función de dispersión anterior, pasamos el código de color hexadecimal en lugar del nombre del color.

Producción: scatter_plot_colour.py

Ejemplo 5: Cambio de color de la trama de dispersión de acuerdo con la categoría

También podemos cambiar el color de los puntos de datos de acuerdo con la categoría. Entonces, en este ejemplo, vamos a explicar que.

# Colour_change_by_category.py
# Importar la biblioteca requerida
Importar matplotlib.Pyplot como PLT
# H y W Los datos se recopilan de dos países
H = [165, 173, 172, 188, 191, 189, 157, 167, 184, 189]
W = [55, 60, 72, 70, 96, 84, 60, 68, 98, 95]
# Establezca el nombre del país 1 o 2 que muestra la altura o el peso
# Los datos pertenecen a qué país
country_category = ['country_2', 'country_2', 'country_1',
'Country_1', 'Country_1', 'Country_1',
'country_2', 'country_2', 'country_1', 'country_2']
# Mapeo de color
colores = 'country_1': 'naranja', 'country_2': 'azul'
color_list = [colores [i] para i en country_category]
# Imprima la lista de colores
Imprimir (Colour_list)
# traza una trama de dispersión
PLT.dispersión (h, w, marcador = "v", s = 75, c = colour_list)
# Establezca los nombres de las Lables del eje
PLT.xlabel ("peso (w) en kg")
PLT.Ylabel ("Altura (H) en CM")
# Establecer el título del nombre del gráfico
PLT.Título ("Cambio de color de la trama de dispersión para categoría en cuanto a la categoría")
PLT.espectáculo()

El código anterior es similar a los ejemplos anteriores. Las líneas donde hicimos los cambios se explican a continuación:

Línea 12: Ponemos los puntos de datos completos, ya sea en la categoría de Country_1 o Country_2. Estos son solo suposiciones y no el verdadero valor para mostrar la demostración.

Línea 17: Creamos un diccionario del color que representa cada categoría.

Línea 18: Asignamos la categoría de país con su nombre de color. Y la declaración de impresión a continuación mostrará resultados como este.

['azul', 'azul', 'naranja', 'naranja', 'naranja', 'naranja', 'azul', 'azul', 'naranja', 'azul']

Línea 24: Por fin, pasamos el color_list (línea 18) a la función de dispersión.

Producción: color_change_by_category.py

Ejemplo 6: Cambie el color de borde del punto de datos

También podemos cambiar el color de borde del punto de datos. Para eso, tenemos que usar la palabra clave de color borde ("edgecolor"). También podemos establecer el ancho de línea del borde. En los ejemplos anteriores, no usamos ningún edgecolor, que es, por defecto, ninguno. Entonces, no muestra ningún color predeterminado. Agregaremos el color de borde en el punto de datos para ver la diferencia entre los ejemplos anteriores gráfico de gráfico de dispersión con el gráfico de puntos de datos de color de borde.

# edgecolour_scatterplot.py
# Importar la biblioteca requerida
Importar matplotlib.Pyplot como PLT
# datos H y W
H = [165, 173, 172, 188, 191, 189, 157, 167, 184, 189]
W = [55, 60, 72, 70, 96, 84, 60, 68, 98, 95]
# traza una trama de dispersión
PLT.dispersión (h, w, marcador = "v", s = 75, c = "rojo", edgecolor = 'negro', linewidth = 1)
# Establezca los nombres de las Lables del eje
PLT.xlabel ("peso (w) en kg")
PLT.Ylabel ("Altura (H) en CM")
# Establecer el título del nombre del gráfico
PLT.Título ("Cambio de color de la trama de dispersión")
PLT.espectáculo()

Línea 11: En esta línea, solo agregamos otro parámetro que llamamos edgecolor y linewidth. Después de agregar ambos parámetros, ahora nuestro gráfico de gráficos de dispersión parece algo, como se muestra a continuación. Puede ver que el exterior del punto de datos ahora está bordeado con el color negro con linewidth = 1.

Producción: edgecolour_scatterplot.py

Conclusión

En este artículo, hemos visto cómo usar la función de diagrama de dispersión. Explicamos todos los conceptos principales necesarios para dibujar una trama de dispersión. Puede haber alguna otra forma de dibujar la trama de dispersión, como una forma más atractiva, dependiendo de cómo usemos diferentes parámetros. Pero la mayoría de los parámetros que cubrimos fueron dibujar la trama más profesionalmente. Además, no use demasiados parámetros complejos, lo que puede confundir el significado real del gráfico.

El código para este artículo está disponible en el siguiente enlace GitHub:

https: // github.com/shekharpandey89/scatter-plot-matplotlib.pyplot