鱼C论坛

 找回密码
 立即注册
查看: 3056|回复: 5

[已解决]怪了我的执行不出横的直方图效果呢。显示TypeError: barh() missing 1 required po...

[复制链接]
发表于 2020-9-13 21:19:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import numpy as np
import matplotlib.pyplot as plt
N=5
y=【20,10,30,25,15】
index=np.arange(N)
# pl=plt.bar(left=0,bottom=index,width=y,color='red',height=0.5,orietation='horizontal')
pl=plt.barh(left=0,bottom=index,width=y)
plt.show()

怪了,我的执行不出来TypeError: barh() missing 1 required positional argument: 'y'   用pycharm
最佳答案
2020-9-13 21:27:13
bottom改成y即可,这里的y不是你定义的列表y,而是barh的关键字参数y
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. N=5
  4. y=[20,10,30,25,15]
  5. index=np.arange(N)
  6. # pl=plt.bar(left=0,bottom=index,width=y,color='red',height=0.5,orietation='horizontal')
  7. pl=plt.barh(left=0,y=index,width=y)
  8. plt.show()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-9-13 21:23:56 | 显示全部楼层
这个才是完整的代码


  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. N=5
  4. y=[20,10,30,25,15]
  5. index=np.arange(N)
  6. # pl=plt.bar(left=0,bottom=index,width=y,color='red',height=0.5,orietation='horizontal')
  7. pl=plt.bar(0,bottom=index,width=y,height=0.5,orientation='horizontal')
  8. plt.show()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-13 21:27:06 | 显示全部楼层
  1. pl=plt.barh(index,width=y,height=0.8)
复制代码

或者这样,你要看参数有哪些啊,pycharm里输入barh等一下,会跳出参数提示的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-13 21:27:13 | 显示全部楼层    本楼为最佳答案   
bottom改成y即可,这里的y不是你定义的列表y,而是barh的关键字参数y
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. N=5
  4. y=[20,10,30,25,15]
  5. index=np.arange(N)
  6. # pl=plt.bar(left=0,bottom=index,width=y,color='red',height=0.5,orietation='horizontal')
  7. pl=plt.barh(left=0,y=index,width=y)
  8. plt.show()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-13 21:39:54 | 显示全部楼层
谢谢了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-13 22:03:13 | 显示全部楼层
sunrise085 发表于 2020-9-13 21:27
bottom改成y即可,这里的y不是你定义的列表y,而是barh的关键字参数y

import numpy as np
import matplotlib.pyplot as plt
N=5
y=[20,10,30,25,15]
index=np.arange(N)
pl=plt.bar(left=0,bottom=index,width=y,color='red',height=0.5,orietation='horizontal')
那这段代码怎么修改可以改成直方图??有的视频是这么写的,可是我的pycharm执行错误??
#pl=plt.barh(left=0,y=index,width=y)
plt.show()
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-27 04:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表