2016-06-23 3 views
0
import matplotlib.pyplot as plt 
import numpy as np 
from math import sin, pi 

y = pi 
x = np.linspace(0, 3*y, 500) 
plt.plot(x, sin(x**2)) 
title("A simple Graph") 
plt.show() 

получатьполучать 'только длина-1 массивы могут быть преобразованы в Python чисел' ошибки

'только длина-1 массивы могут быть преобразованы в Python скаляры'

ошибка во время работы этот код

+1

Быстрые вопросы: зачем использовать математику вообще? Numpy содержит как sin, так и pi, которые вы импортируете из математики. Поскольку вы уже используете 'np.linespace', почему бы не использовать' np.pi' и 'np.sin'. Чтобы сохранить код так же, просто добавьте 'np.' перед грехом, и он должен исправить ошибку. – NLMDEJ

ответ

1

Просто измените plt.plot(x,sin(x**2)) в plt.plot(x,np.sin(x**2))

1

Вы можете использовать этот код вместо:

import matplotlib.pyplot as plt 
import numpy as np 
from math import sin,pi 
y=pi 
x = np.linspace(0, 3*y, 500) 
plt.plot(x,[sin(_**2) for _ in x]) 
title("A simple Graph") 
plt.show() 

Второй аргумент функции plot был неправильным.

+0

Но почему был неверен второй аргумент? В чем была проблема? – evtoh

Смежные вопросы

 Смежные вопросы