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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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!