python - 将numpy数组传递给函数给出类型错误
问题描述
不知道为什么我在尝试绘制条形图时总是出错。
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
解决方案
我将您的函数声明为类中的静态方法:
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)
并得到了一张照片。
推荐阅读
- javascript - nodemailer html JavaScript在gmail中呈现列表时的模板字符串问题
- c# - 流水线函数作为 EF/MVC 中的实体
- php - GET 请求在实时服务器 Laravel 上不起作用
- django - 不显示 Django 静态图像
- amazon-web-services - AWS Codepipeline 第一阶段
- elasticsearch - 如何在 k8s 上的 elasticsearch 部署中从 helm char 禁用 xpack.security.enabled
- reactjs - 如何在 highcharts 深入图表中显示我经过的路径?
- reactjs - 在 React 的不同组件中呈现用户输入
- selenium - 是否可以暂停/恢复/取消从 Java 中的 selenium 下载
- amazon-web-services - AWS 中的 DBA 角色权限