鱼C论坛

 找回密码
 立即注册
查看: 3471|回复: 19

[已解决]matplotlib中的条形图如何显示频数

[复制链接]
发表于 2019-3-21 09:48:21 | 显示全部楼层
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. #创建带数字标签的直方图
  4. numbers = list(range(1,11))
  5. #np.array()将列表转换为存储单一数据类型的多维数组
  6. x = np.array(numbers)
  7. y = np.array([a**2 for a in numbers])
  8. plt.bar(x,y,width=0.5,align='center',color='c')
  9. plt.title('Square Numbers',fontsize=24)
  10. plt.xlabel('Value',fontsize=14)
  11. plt.ylabel('Square of Value',fontsize=14)
  12. plt.tick_params(axis='both',labelsize=14)
  13. plt.axis([0,11,0,110])
  14. for a,b in zip(x,y):
  15.     plt.text(a,b+0.1,'%.0f'%b,ha = 'center',va = 'bottom',fontsize=7)

  16. plt.show()
复制代码

百度了个例子
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-21 09:48:57 | 显示全部楼层    本楼为最佳答案   
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. #创建带数字标签的直方图
  4. numbers = list(range(1,11))
  5. #np.array()将列表转换为存储单一数据类型的多维数组
  6. x = np.array(numbers)
  7. y = np.array([a**2 for a in numbers])
  8. plt.bar(x,y,width=0.5,align='center',color='c')
  9. plt.title('Square Numbers',fontsize=24)
  10. plt.xlabel('Value',fontsize=14)
  11. plt.ylabel('Square of Value',fontsize=14)
  12. plt.tick_params(axis='both',labelsize=14)
  13. plt.axis([0,11,0,110])
  14. for a,b in zip(x,y):
  15.     plt.text(a,b+0.1,'%.0f'%b,ha = 'center',va = 'bottom',fontsize=7)

  16. plt.show()
复制代码

回复了个被HX- -
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-21 10:57:08 | 显示全部楼层
你的m-0.03干嘛,水平人家给你设置好了,根据自己图形的y的位置调整你的文字位置,如果图片显示不下
plt.figure(figsize=(60,1))类似这样调整下你的图片尺寸
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-21 11:01:20 | 显示全部楼层
figure是一次就够了,你放循环里干嘛
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-21 11:04:48 | 显示全部楼层
你把代码都贴出来,我这么看费劲
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-21 11:06:38 | 显示全部楼层
你这循环本来就是先打印了变量,你也没写显示图的语句
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-21 11:12:47 | 显示全部楼层
老笨啊 发表于 2019-3-21 11:10
我在jupyter里编辑的,用%matplotlib inline的魔法方法,不用show命令,也可以显示图形。
我的意思 ...

那你图片4个都出来了没,什么时候显示的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-21 11:29:15 | 显示全部楼层
老笨啊 发表于 2019-3-21 11:15
我改好了。。谢谢你的提醒。。
用了魔法方法,虽然可以显示图形,但是是等所有命令执行完,才来显示图形 ...

对齐你把你自己增加、改变的参数好好看看,调整下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-21 11:41:59 | 显示全部楼层
这个是你自己调试的事,我也没有数据,你就打印位置和实际值,看看到底哪个没对上,怎么跑的,这只能你自己分析
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-1 23:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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