Curso matplotlib - Gráfico de linhas (Faixa dos eixos)
É possível alterar os limites dos eixos x
e y
(alterar a faixa de plotagem).
- Para alterar o eixo
x
, passamos umatuple
com dois valores (valor inicial dex
, valor final dex
) para oplt.xlim()
;
- Para alterar o eixo
y
, passamos umatuple
com dois valores (valor inicial dey
, valor final dey
) para oplt.ylim()
.
Neste caso, temos no eixo x
apenas str
representando cada hora do dia. Como passamos uma str
como valor de x
, o matplotlib utiliza o índice de cada str
como valores de x
, e não o valor de cada str
(pois a posição tem de ser numérica).
Então se alterarmos o xlim()
para 1 e 10, vamos cortar o primeiro elemento ('00:00'
) e o último elemento ('22:00'
), pois a lista horario
tem 12 elementos, que variam entre a posição 0
e a posição 11
:
Exemplo:
plt.figure(figsize=(12,6))
plt.plot(horario, temperatura, c='red', linewidth=3.5, zorder=1, alpha=0.5, label='linha de conecção')
plt.scatter(horario, temperatura, marker='s', edgecolors='k', facecolors='g', s=250, linewidths=3.5,
zorder=2, label='dados reais')
plt.legend(bbox_to_anchor=(1.22,1))
plt.xlabel("Horário", labelpad=15)
plt.ylabel("Temperatura (°C)", labelpad=15)
plt.title("Monitoramento da temperatura na cidade de Birigui-SP no dia 13/04/2021", pad=15)
plt.xlim(1,10)
plt.show()
Figura 1 - Gráfico de dispersão com limites do eixo x alterados.
Mas se utilizamos um intervalo maior, entre -10 e 20 por exemplo:
plt.figure(figsize=(12,6))
plt.plot(horario, temperatura, c='red', linewidth=3.5, zorder=1, alpha=0.5, label='linha de conecção')
plt.scatter(horario, temperatura, marker='s', edgecolors='k', facecolors='g', s=250, linewidths=3.5,
zorder=2, label='dados reais')
plt.legend(bbox_to_anchor=(1.22,1))
plt.xlabel("Horário", labelpad=15)
plt.ylabel("Temperatura (°C)", labelpad=15)
plt.title("Monitoramento da temperatura na cidade de Birigui-SP no dia 13/04/2021", pad=15)
plt.xlim(-10,20)
plt.show()
Figura 2 - Gráfico de dispersão com limites do eixo x alterados.
Já para o eixo y
, temos valores numéricos na lista temperatura
e podemos alterar os valores na unidade da temperatura mesmo, pois o eixo foi gerado com as dimensões contidas na lista temperatura
, e não com o seu índice.
Por exemplo, para alterar o intervalo para a temperatura entre 14 e 38 °C:
plt.figure(figsize=(12,6))
plt.plot(horario, temperatura, c='red', linewidth=3.5, zorder=1, alpha=0.5, label='linha de conecção')
plt.scatter(horario, temperatura, marker='s', edgecolors='k', facecolors='g', s=250, linewidths=3.5,
zorder=2, label='dados reais')
plt.legend(bbox_to_anchor=(1.22,1))
plt.xlabel("Horário", labelpad=15)
plt.ylabel("Temperatura (°C)", labelpad=15)
plt.title("Monitoramento da temperatura na cidade de Birigui-SP no dia 13/04/2021", pad=15)
plt.ylim(14,38)
plt.show()
Figura 3 - Gráfico de dispersão com limites do eixo x alterados.