Curso matplotlib - Elementos auxiliares (elemento de passo)

1 minute read


O elemento de passo, ou de “escada”, é uma forma de desenhar linhas em “escadinha”. São úteis para fazer gráficos de acumulação.

Para adicionar uma linha na forma de escada, passamos duas sequências contendo os valores de x e y da escada através de plt.step().

Exemplo:

plt.figure(figsize=(8,6))
plt.scatter(x,y)
plt.step(x,y)
plt.show()

Figura 1 - Gráfico de dispersão com reta em “escadinha”.

gráfico de dispersão genérico desenhado com o matplotlib, como reta em 'escadinha'


As linhas são desenhadas utilizando o valor de x como referência, e temos 3 opções para a referência. Para alterar estas opções, basta passar o parâmetro where com uma das seguintes opções:

  • 'pre' (padrão): a linha é desenhada primeiro no eixo y, e depois vai para a direita no eixo x.

Exemplo:

plt.figure(figsize=(8,6))
plt.scatter(x,y)
plt.step(x,y, where='pre')
plt.show()

Figura 2 - Gráfico de dispersão com reta em “escadinha” utilizando o where='pre'.

gráfico de dispersão genérico desenhado com o matplotlib, como reta em 'escadinha'


  • 'post': a linha é desenhada primeiro no eixo x, e depois vai para a direção do eixo y.

Exemplo:

plt.figure(figsize=(8,6))
plt.scatter(x,y)
plt.step(x,y, where='post')
plt.show()

Figura 3 - Gráfico de dispersão com reta em “escadinha” utilizando o where='post'.

gráfico de dispersão genérico desenhado com o matplotlib, como reta em 'escadinha'


  • 'mid': a linha é desenhada até a metade do eixo x, depois “sobe” até o valor de y, e então segue até a outra metade do eixo x.
plt.figure(figsize=(8,6))
plt.scatter(x,y)
plt.step(x,y, where='mid')
plt.show()

Figura 4 - Gráfico de dispersão com reta em “escadinha” utilizando o where='mid'.

gráfico de dispersão genérico desenhado com o matplotlib, como reta em 'escadinha'


ATENÇÃO: observe que os pontos dos gráficos acima foram adicionados utilizando o plt.scatter(), e não são provenientes do plt.step(). Contudo, é possível inserir os pontos no gráfico, passando o parâmetro marker em plt.step(), seguindo a mesma lógica vista anteriormente.

Por exemplo:

plt.figure(figsize=(8,6))
plt.step(x,y, where='mid', marker="o")
plt.show()

Figura 5 - Gráfico de passo com reta em “escadinha” utilizando o where='mid'.

gráfico de passo genérico desenhado com o matplotlib, como reta em 'escadinha'


É possível editar as linhas e os marcadores do plt.step() de forma muito semelhante ao que vimos anteriormente. Maiores informações na documentação.


Qual é a função do parâmetro where quando utilizado em plt.step()?

O método plt.step() não tem um parâmetro chamado where.

Determinar se o tamanho de cada escada é sempre igual.

Determinar a forma como a "escada" será desenhada.

Inserir marcadores no gráfico de passo.


Anterior Próximo

Updated: