1
resposta

Erro no Matplotlib

Estou com dificuldade no Matplotlib, ao usar o código abaixo.

''' import matplotlib.pyplot as plt

x = list(range(1, 9)) y = notas_matematica

plt.plot(x, y)

'''

Aparece a mensagem de erro:

'''

ValueError Traceback (most recent call last) in 4 y = notas_matematica 5 ----> 6 plt.plot(x, y)

3 frames /usr/local/lib/python3.8/dist-packages/matplotlib/axes/base.py in _plotargs(self, tup, kwargs) 340 341 if x.shape[0] != y.shape[0]: --> 342 raise ValueError(f"x and y must have same first dimension, but " 343 f"have shapes {x.shape} and {y.shape}") 344 if x.ndim > 2 or y.ndim > 2:

ValueError: x and y must have same first dimension, but have shapes (8,) and (16, 1)

'''

Alguém pode me ajudar?

1 resposta

Olá, Gisele, belezinha?

Esse error, nos informa que o tamanho de x esta diferente do tamanho de y. Você pode solucionar isso "limpando" a lista notas_matematica. Na aula foi passado o seguinte comando:

notas_matematica = [] #repare que antes de rodar o loop estamos dizendo que essa variavel é vazia para garantir que a lista inicie vazia.
for notas in range(8):
    notas_matematica.append(randrange(0,11))
notas_matematica

Após rodar isso verifique que notas_matematica tem somente 8 elementos. Se temos, agora podemos plotar o gráfico tranquilamente, pois temos examanete a mesma quantidade de x** e **y:

import matplotlib.pyplot as plt

x = list(range(1, 9)) 
y = notas_matematica

plt.plot(x, y)

Espero que tenha ajudado!

Se ainda tiver alguma dúvida, estou por aqui. Ótimos estudos e um forte abraço!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!