Como conectar pontos de dispersão com linha em Matplotlib
-
Chamar
show()
depois de chamar tantoscatter()
comoplot()
-
matplotlib.pyplot.plot()
Função com o Atributolinetyle
-
Palavra-chave
zorder
para alterar a ordem de sorteio
Podemos conectar pontos de scatter
com uma linha chamando show()
depois de termos chamado tanto scatter()
como plot()
, chamando plot()
com a linha e atributos de ponto, e utilizando a palavra-chave zorder
para atribuir a ordem de desenho.
Chamar show()
depois de chamar tanto scatter()
como plot()
O matplotlib.pyplot.scatter(x, y)
com x
como uma seqüência de coordenadas x e y
como uma seqüência de coordenadas y cria um gráfico de pontos de dispersão. Para conectar esses pontos do gráfico de dispersão em ordem, chamar matplotlib.pyplot.plot(x, y)
manter x
e y
o mesmo que os passados para a função scatter()
.
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()
Resultado:
matplotlib.pyplot.plot()
Função com o Atributo linetyle
Também podemos conectar os pontos scatterplotplot
com a linha chamando apenas a função matplotlib.pyplot.plot()
função juntamente com o atributo linetyle
.
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()
Resultado:
Da mesma forma, também podemos tentar outros estilos de linhas
diferentes
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()
Resultado:
Palavra-chave zorder
para alterar a ordem de sorteio
Podemos utilizar a palavra-chave zorder
para definir a ordem do desenho na figura. Atribuiremos diferentes ordens para plot
e scatter
e então inverteremos as ordens para mostrar diferentes comportamentos de ordem de desenho.
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()
Resultado:
plot()
tem a ordem de 2
, maior do que a ordem de scatter()
, portanto, o gráfico de dispersão está no topo da linha.
Se invertermos a ordem, então o gráfico de linha estará no topo do gráfico de dispersão.
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()
Resultado:
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn