Ошибка происходит от x(x<5)
.Python анализирует первый x
как функцию и пытается вызвать его для аргумента x<5
, что приводит к ошибке, потому что x
это не функция, которую вы можете вызвать, это numpy.ndarray
, что объясняет numpy.ndarray object is not callable
ошибка.
Попробуйте это:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0,10,0.1)
y = [(xx if xx<5 else 0) for xx in x]
plt.plot(x,y)
plt.show()