Como conectar pontos de dispersão com linha em Matplotlib

  1. Chamar show() depois de chamar tanto scatter() como plot()
  2. matplotlib.pyplot.plot() Função com o Atributo linetyle
  3. 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:

Pontos Scatterplot ligados com linha_1

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:

Pontos Scatterplot ligados com linha utilizando parâmetros de estilo de linha e cor

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:

Pontos Scatterplot ligados com linha usando parâmetros de estilo de linha e cor_azul

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:

Pontos de dispersão conectados com linha utilizando zorder

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:

Pontos de dispersão ligados com linha utilizando zorder 1

Artigo relacionado - Matplotlib Scatter

  • Como definir o tamanho do plote de dispersão em Matplotlib