HOWTO · Matplotlib
Como conectar pontos de dispersão com linha em Matplotlib
Podemos conectar pontos scatterplot com uma linha chamando show() após termos chamado tanto scatter() quanto plot(), chamando plot() com os atributos de linha e ponto, e usando a palavra-chave zorder.
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: