Передача массива numpy функции с ошибкой типа - PullRequest
1 голос
/ 25 мая 2020

Не знаю, почему я продолжаю получать сообщение об ошибке при попытке построить гистограмму.

 def plotBar(x,y):
    plt.bar(x, y, width=1, align='center', color='plum', edgecolor='firebrick',linewidth=1)
    plt.show()

В основном я вызываю функцию следующим образом:

x1=np.arange(1,101)
y1=np.arange(50,151)

classname.plotBar(x1,y1)

Однако, Я все время получаю эту ошибку:

TypeError: plotBar() takes 2 positional arguments but 3 were given

1 Ответ

1 голос
/ 25 мая 2020

Я объявил вашу функцию как метод stati c в классе:

class Xxx:
    @staticmethod
    def plotBar(x,y):
        plt.bar(x, y, width=1, align='center', color='plum',
            edgecolor='firebrick', linewidth=1)
        plt.show()

Следующее исправление состоит в том, что оба массива должны быть одинаковой длины, поэтому я изменил определение y , чтобы в нем также были элементы 100 :

x1 = np.arange(1,101)
y1 = np.arange(51,151)

(ранее было 101 элементов).

Потом я его назвал:

Xxx.plotBar(x1,y1)

и получил картинку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...