Pessoal, tudo bem?
Qual comando eu deveria incluir no código para que eu conseguisse deixar o eixo y (notas) sempre de 0 a 10 independente das notas plotadas?
Pessoal, tudo bem?
Qual comando eu deveria incluir no código para que eu conseguisse deixar o eixo y (notas) sempre de 0 a 10 independente das notas plotadas?
Oi Fabrício, como você está?
Peço desculpas pela demora em obter um retorno.
Por padrão, a biblioteca matplotlib escolhe automaticamente o intervalo dos limites do eixo x
e y
para a plotagem dos dados. Mas, para fixarmos o eixo y
, podemos utilizar a função ylim, que definirá o valor mínimo e máximo do eixo y
, por exemplo:
plt.ylim(0, 10)
Com essa alteração, o código completo ficará da seguinte forma:
from random import randrange, seed
import matplotlib.pyplot as plt
notas_matematica = [3, 2, 0, 5, 0, 6, 4, 0]
x = list(range(1,9))
y = notas_matematica
plt.plot(x, y, marker='o')
plt.title('Notas de matemática')
plt.xlabel('Provas')
plt.ylabel('Notas')
plt.ylim(0, 10) # definir limite do eixo
plt.yticks(range(0, 11, 2)) # alterar escala do eixo
plt.show()
Mas vale ressaltar que caso tivéssemos um valor 12 para as notas, as linhas de Y iriam ultrapassar o limite do gráfico, por isso, para caso onde não sabemos de antemão qual o menor e maior valor, utilizamos em conjunto com o ylim as funções de mínimo (min) e máximo (max) e acrescentamos uma “sobra” ao máximo, para que o valor máximo não fique do tamanho exato do gráfico e seja desagradável visualmente, exemplo:
plt.ylim(min(notas_matematica), max(notas_matematica) + 5)
Qualquer dúvida me coloco à disposição.
Grande abraço e bons estudos!