Cómo conectar los puntos de dispersión con la línea en Matplotlib

Suraj Joshi 30 enero 2023
  1. Llama a show() después de llamar tanto a scatter() y plot()
  2. matplotlib.pyplot.plot() función con atributos de estilo lineal
  3. La palabra clave zorder para cambiar el orden de los dibujos
Cómo conectar los puntos de dispersión con la línea en Matplotlib

Podemos conectar los puntos de la gráfica de dispersión con una línea llamando a show() después de que hayamos llamado tanto a satter() como a plot(), llamando a plot() con los atributos de la línea y el punto, y utilizando la palabra clave zorder para asignar el orden de la gráfica.

Llama a show() después de llamar tanto a scatter() y plot()

matplotlib.pyplot.scatter(x, y) con x como secuencia de coordenadas x y y como secuencia de coordenadas y crea una gráfica de dispersión de puntos. Para conectar estos puntos de la gráfica de dispersión en orden, llama a matplotlib.pyplot.plot(x, y) manteniendo x y y iguales a los que se pasan a la función satter().

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5, 50)
y = np.sin(2 * np.pi * x)

plt.scatter(x, y)
plt.plot(x, y)
plt.title("Connected Scatterplot points with line")
plt.xlabel("x")
plt.ylabel("sinx")
plt.show()
figure.tight_layout()

Producción:

Puntos de Scatterplot conectados con line_1

matplotlib.pyplot.plot() función con atributos de estilo lineal

También podemos conectar los puntos de scatterplot con la línea, llamando a la función matplotlib.pyplot.plot() junto con los atributos de linestyle.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5, 50)
y = np.sin(2 * np.pi * x)

plt.plot(x, y, linestyle="solid", color="blue")
plt.title("Connected Scatterplot points with line")
plt.xlabel("x")
plt.ylabel("sinx")
plt.show()
figure.tight_layout()

Producción:

Conectar los puntos de Scatterplot con la línea usando parámetros de estilo lineal y de color

Del mismo modo, podemos probar otros diferentes estilos de línea también

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5, 50)
y = np.sin(2 * np.pi * x)

plt.plot(x, y, "xb-")
plt.title("Connected Scatterplot points with line")
plt.xlabel("x")
plt.ylabel("sinx")
plt.show()

Producción:

Puntos de Scatterplot conectados con la línea usando el estilo de línea y los parámetros de color_azul

La palabra clave zorder para cambiar el orden de los dibujos

Podemos usar la palabra clave zorder para establecer el orden del dibujo en la figura. Asignaremos diferentes órdenes a plot y scatter y luego invertiremos las órdenes para mostrar diferentes comportamientos del orden de los dibujos.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5, 50)
y = np.sin(2 * np.pi * x)

plt.scatter(x, y, color="r", zorder=1)
plt.plot(x, y, color="b", zorder=2)

plt.title("Connected Scatterplot points with line")
plt.xlabel("x")
plt.ylabel("sinx")

plt.show()

Producción:

Puntos de Scatterplot conectados con línea usando zorder

plot() tiene el orden como 2, más grande que el orden de scatter(), por lo tanto, el gráfico de dispersión está en la parte superior del gráfico de línea.

Si invertimos el orden, entonces el diagrama de líneas estará en la parte superior del diagrama de dispersión.

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 5, 50)
y = np.sin(2 * np.pi * x)

plt.scatter(x, y, color="r", zorder=2)
plt.plot(x, y, color="b", zorder=1)

plt.title("Connected Scatterplot points with line")
plt.xlabel("x")
plt.ylabel("sinx")

plt.show()

Producción:

Puntos de diagrama de dispersión conectados con línea usando zorder 1

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Artículo relacionado - Matplotlib Scatter