展开菜单
首页 精品内容 本月促销 装机必备 Windows PDF教程 macOS软件 IOS软件 Android AI 专题
全部分类

当前位置:

首页 > 编程开发 > Python怎么画直方图_hist()频数分布与bins区间数量调整

Python怎么画直方图_hist()频数分布与bins区间数量调整

画直方图时bins参数决定柱子数量,可设为整数或数组指定边界,也可用'fd'等自动算法但需谨慎。数据量小bins宜少,量大则需增多。density=False显示频数,True显示概率密度。range限定横轴范围,异常值建议截断。Pandas的hist()与plt.hist()参数传递存在差异,需显式传参以保证一致性。

本文目录

    画直方图的时候,最让人头疼的往往是柱子数量——要么糊成一团黑块,根本看不出分布;要么碎成细线,信息全被噪音淹没。问题本质出在 bins 参数上。默认值(比如 10 或 'auto')只适合简单数据,实际场景里几乎都得手动调。

    怎么调?两种方式最常用:一个是直接给整数,比如 bins=20,强制分 20 组;另一个是传数组,比如 np.arange(0, 101, 5),明确指定每个区间的边界。Matplotlib 也支持 'fd'、'scott'、'sturges' 这类字符串自动计算,但千万别无脑信——尤其是数据有大量重复值或长尾的时候,'sturges 经常严重低估 bins 数量,直接导致柱子太少。数据量小的(比如几百个),bins=10 可能还嫌密;数据量大的(超过一万),bins=50 可能都不够,得试到柱子边缘清晰、不锯齿也不重叠才算到位。

    Python怎么画直方图_hist()频数分布与bins区间数量调整

    plt.hist() 画出来的直方图柱子太少或太多,怎么调 bins

    这个问题的根源其实就是 bins 设置不合理。很多新手一上来就 plt.hist(data),结果要么柱子太宽丢失细节,要么太窄全是锯齿。记住:bins 可以是整数(比如 20),表示强制分 20 组;也可以是数组(比如 np.arange(0, 101, 5)),明确指定每个区间的边界。用 'fd'、'scott'、'sturges' 这类字符串也行,但别盲目依赖自动算法——尤其当数据有大量重复值或长尾时,'sturges' 常常低估 bins 数量。数据量小(<1000),bins=10 可能过密;数据量大(>10000),bins=50 可能还不够,得试到柱子边缘清晰、不锯齿也不重叠为止。

    想看频数(count)还是概率密度(density),关键看 density 参数

    很多人调完 bins 发现纵轴数字看不懂:明明总共 1000 个数,最高柱子却标着 0.03?这大概率是误开了 density=True。做探索性分析、想看看“有多少个”的时候,用默认的频数模式(density=False)就够了;只有当你需要和概率密度曲线(比如正态分布 PDF)做对比,或者做拟合分布可视化时,才该设 density=True。

    • density=False(默认):纵轴是落入该 bin 的样本个数,所有柱子面积之和 = 总样本数。
    • density=True:纵轴变成概率密度,所有柱子面积之和 = 1,此时高度 = 频数 / (总样本数 × bin 宽度)。
    • 注意:一旦设了 density=True,就不能直接和原始频数曲线叠在一起画,否则尺度错乱。

    横坐标范围不对、bin 边界不齐整,检查 range 和 bins 类型配合

    比如数据是 [1.2, 1.8, 2.1, ..., 9.7],但直方图从 0 开始、到 10 结束,且 bin 边界是 0.0, 1.0, 2.0...——这种“人为对齐”会让第一组/最后一组空着,或者把本该在一个 bin 的值劈开。常见现象:左右留白过大、某些 bin 明明有数据却显示为 0、柱子宽度不一致(尤其用了非等距 bins 数组时)。

    • 用 range=(min_val, max_val) 可以限定横轴范围,但不会改变 bin 划分逻辑;真正控制划分的是 bins。
    • 想要 bin 边界整齐(比如都落在整数上),推荐显式传入 bins=np.arange(start, stop+step, step),而不是只靠 range + 整数 bins。
    • 如果数据含异常值(比如一个 1000 混在一堆 1~10 的数里),先 data = data[data < 100] 截断,再画图,否则 range 被拉长,bins 全部被稀释。

    和 pandas hist() 混用时,bins 行为不一致容易踩坑

    Pandas 的 Series.hist() 底层调用的就是 matplotlib.pyplot.hist(),但参数透传过程中有隐式转换——最典型的是 bins 为字符串时(如 'auto'),pandas 会先调 np.histogram_bin_edges() 算一次,再喂给 matplotlib,结果可能和你直接调 plt.hist(..., bins='auto') 不一样。快速探索用 df['col'].hist() 没问题;但需要复现、调试或和模型输出对齐时,务必切回原生 plt.hist() 并显式传参。

    • Pandas 的 hist() 不支持 density 参数,要用 weights 手动换算(比如 weights=np.ones(len(data))/len(data))模拟 density 效果。
    • 同一份数据,plt.hist(data, bins=20) 和 pd.Series(data).hist(bins=20) 柱子位置和高度几乎一样;但换成 bins='sturges' 就可能差 2–3 个 bin。
    • 如果你在 Jupyter 里先跑 df.hist() 再跑 plt.hist(),记得加 plt.figure() 新建画布,否则两张图叠在一起,bins 设置互相干扰。

    事情说清了就结束。真正难的不是调出一张“看起来对”的直方图,而是每次换数据都要重新判断:这组数据有没有离群点?要不要截断?bin 宽度该不该随数据范围缩放?这些没法写成固定参数,只能看图说话。

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 Python
    相关文章 更多
    精品专题 更多
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    IOS软件

    正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

    AI

    正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

    Mac软件 更多
    Aperty macOS版
    Aperty macOS版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw macOS版
    AionClaw macOS版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy macOS版
    Loomy macOS版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。

    AirBuddy 3 macOS版
    AirBuddy 3 macOS版

    AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。

    AirServer macOS版
    AirServer macOS版

    AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。

    AnyDesk macOS版
    AnyDesk macOS版

    AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。

    WINDOWS 更多
    Aperty Windows版
    Aperty Windows版

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    火山引擎 网页版
    火山引擎 网页版

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    立刻MV 网页版
    立刻MV 网页版

    立刻MV 面向音乐人、内容创作者和品牌团队,帮助用户低成本完成歌曲 MV、歌词视频、AI 分镜、图生视频与最终合成。

    蛙蛙写作 网页版
    蛙蛙写作 网页版

    蛙蛙写作 AI 创作工具,覆盖小说、剧本、文案,一键生成文稿,打通文字转视频全流程,高效解决创作难题。

    讯飞智作 网页版
    讯飞智作 网页版

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    超级简历WonderCV 网页版
    超级简历WonderCV 网页版

    超级简历WonderCV是面向应届生和AI小白的智能求职平台,覆盖简历、面试与职业规划。

    音述AI 网页版
    音述AI 网页版

    音述AI,是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区。

    AionClaw Windows版
    AionClaw Windows版

    AionClaw 是可在桌面端运行的任务型 AI 助手,通过数字专家与技能市场组合办公、创作、数据和开发能力。

    Loomy Windows版
    Loomy Windows版

    Loomy 是科大讯飞推出的桌面 AI 助手,可通过对话、任务与工作目录协助处理办公、内容创作和资料整理。

    讯飞绘文 网页版
    讯飞绘文 网页版

    讯飞绘文网页版是科大讯飞推出的AI图文创作与内容运营工具,覆盖热点选题、文章生成、稿件校对、智能配图、排版发布和数据复盘等环节,适合自媒体创作者及内容团队在线使用。

    AirServer Windows版
    AirServer Windows版

    AirServer Windows版可把电脑变成AirPlay、Google Cast和Miracast无线投屏接收端,适合会议演示、课堂教学及家庭大屏分享。发送设备通常无需另装客户端,并可同时接收和智能排列多个镜像会话。

    AlwaysUp Windows版
    AlwaysUp Windows版

    AlwaysUp是一款面向Windows的系统服务注册与程序托管工具,可让普通应用、脚本及批处理在无人登录时随系统启动,并通过状态检测、异常重启、资源监控和邮件通知保障关键任务持续运行。