当前位置: 首页 > news >正文

matplotlib绘制频率分布直方图

1.给了数据,让统计这些数据的分布

from matplotlib import pyplot as plt
from matplotlib import rcParams
import random as r# 直方图用来统计每个区间数量多少rcParams['font.sans-serif'] = ['SimHei']
rcParams['axes.unicode_minus'] = Falseplt.figure(figsize=(20,8), dpi=80)# 生成数据,这里用正态分布来生成数据
# 均值和标准差,均值就是大部分数据集中在哪,标准差越大数据越离散,越少数据越单一
a = [int(r.gauss(100, 20)) for _ in range(100000)]
d = 3# 构造 bins,保证每个区间长度为 d
# 最小值到最大值+d,取一个步长,相当于向上取整
# 这样生成的区间恰好能覆盖所有数
bins = list(range(min(a), max(a) + d, d))# 绘制直方图(edgecolor 参数让柱子边框更清晰)
# 直接指定bins,有原始数据的时候
plt.hist(a, bins, edgecolor='black',density=True)# 将 x 轴刻度设为 bins 列表,即柱子的左右边界
plt.xticks(bins)plt.grid()
plt.show()

2.只给了频数

from matplotlib import pyplot as plt
from matplotlib import rcParams
import random as r
rcParams['font.sans-serif'] = ['SimHei']
rcParams['axes.unicode_minus'] = False#区间左边界,区间宽度,频数
interval=[0,5,10,15,20,25,30,35,40,45,60,90]
width=[5,5,5,5,5,5,5,5,5,15,30,60]
quantity=[836,2737,3723,3926,3596,1438,3273,642,824,613,215,47]plt.figure(figsize=(20, 6))# 使用 plt.bar 绘制直方图:柱子的左边界由 interval 指定,
# 柱子宽度由 width 指定,高度为对应的频数 quantity
right_boundaries = [iv + wd for iv, wd in zip(interval, width)]
print(right_boundaries)
# 合并左边界和右边界,并去重排序(注意:一般两个列表内的数互不重合,可直接拼接)
all_boundaries = sorted(interval + right_boundaries)# 使用 align='edge' 使每个柱子从其左边界开始绘制,width 设置柱子宽度
plt.bar(interval, quantity, width=width, align='edge', edgecolor='black')# 设置 x 轴刻度为所有边界,这样每个柱子的左右两侧都能看到刻度
plt.xticks(all_boundaries)plt.xlabel("区间")
plt.ylabel("频数")
plt.title("直方图")
plt.grid()# 显示图形
plt.show()

效果 

http://www.lryc.cn/news/536496.html

相关文章:

  • 相得益彰,Mendix AI connector 秒连DeepSeek ,实现研发制造域场景
  • shell脚本自动安装MySQL8
  • Git | 相关命令
  • RealClip正式发布:重新定义轻量化数字内容交互体验
  • Linux内核 - 非仿生机器人之感知主控系统(协议栈)
  • CZML 格式详解,javascript加载导出CZML文件示例
  • 【gRPC-gateway】auth-通过拦截器从上下文中提取元数据用于认证,与从http header转发待认证数据到上下文进行验证,go案例
  • Sass基础知识以及常用知识整理
  • Redis 内存回收机制
  • docker安装mongo,导入、导出数据
  • Excel常用操作
  • 嵌入式EasyRTC实时通话支持海思hi3516cv610,编译器arm-v01c02-linux-musleabi-gcc
  • 在freertos中,中断优先级和任务优先级之间的关系和使用方法
  • 设置ollama接口能外部访问
  • Go GUI 框架, energy many-browser 示例解读
  • Docker 部署 MongoDB | 国内阿里镜像
  • 软件工程-软件设计
  • Elasticsearch:15 年来致力于索引一切,找到重要内容
  • DeepSeek大模型一键部署解决方案:全平台多机分布式推理与国产硬件优化异构计算私有部署
  • Docker 部署 MySQL-5.7 单机版
  • 打破AI黑盒,拥抱开源力量:基于openGauss+DeepSeek的本地知识库,打造你的专属AI助手!
  • java配置api,vue网页调用api从oracle数据库读取数据
  • visual studio导入cmake项目后打开无法删除和回车
  • linux运行kettle 遇到问题汇总
  • 初识camel智能体(一)
  • 如何在Excel和WPS中进行翻译
  • TCP的拥塞控制
  • 【前端】几种常见的跨域解决方案代理的概念
  • C++之2048小游戏 第二期
  • Redis7——基础篇(一)