将 numpy 数组传递给函数给出类型错误

不知道为什么我在尝试绘制条形图时总是出错。


 def plotBar(x,y):

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

    plt.show()

在 main 中,我这样调用函数:


x1=np.arange(1,101)

y1=np.arange(50,151)


classname.plotBar(x1,y1)

但是,我不断收到此错误:


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


温温酱
浏览 160回答 1
1回答

暮色呼如

我将您的函数声明为类中的静态方法: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)并得到了一张照片。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python