直方图与柱状图外观表现很相似,用来展现连续型数据分布特征的统计图形(柱状图主要展现离散型数据分布),官方hist项目地址。

函数:matplotlib.pyplot.hist(x,bins=None,range=None, density=None, bottom=None, histtype='bar', align='mid', log=False, color=None, label=None, stacked=False, normed=None)

关键参数

x: 数据集,最终的直方图将对数据集进行统计

bins: 统计的区间分布

range: tuple, 显示的区间,range在没有给出bins时生效

density: bool,默认为false,显示的是频数统计结果,为True则显示频率统计结果,这里需要注意,频率统计结果=区间数目/(总数*区间宽度),和normed效果一致,官方推荐使用density

histtype: 可选{'bar', 'barstacked', 'step', 'stepfilled'}之一,默认为bar,推荐使用默认配置,step使用的是梯状,stepfilled则会对梯状内部进行填充,效果与bar类似

align: 可选{'left', 'mid', 'right'}之一,默认为'mid',控制柱状图的水平分布,left或者right,会有部分空白区域,推荐使用默认

log: bool,默认False,即y坐标轴是否选择指数刻度

stacked: bool,默认为False,是否为堆积状图

最简实现

import matplotlib.pyplot as plt

import numpy as np

x=np.random.randint(0,100,100)#生成【0-100】之间的100个数据,即 数据集

bins=np.arange(0,101,10)#设置连续的边界值,即直方图的分布区间[0,10],[10,20]...

#直方图会进行统计各个区间的数值

plt.hist(x,bins,color='fuchsia',alpha=0.5)#alpha设置透明度,0为完全透明

plt.xlabel('scores')

plt.ylabel('count')

plt.xlim(0,100)#设置x轴分布范围

plt.show()

效果图:

hist直方图效果注意bins的范围设置,如果使用np.arange(0,100,10),则不会统计[90-100]区间的频数,结果如下

修改bins结果官方教程中还涉及对直方图进行曲线拟合,本例由于不符合正态分布,这里将每个柱状图的中心点进行连接,hist()第一个返回值是统计各个区间的频数,第二个返回值是bins,即区间,所以我们有了点坐标,使用plot函数即可,实现过程如下:

import matplotlib.pyplot as plt

import numpy as np

x=np.random.randint(0,100,100)#生成【0-100】之间的100个数据,即 数据集

bins=np.arange(0,101,10)#设置连续的边界值,即直方图的分布区间[0,10],[10,20]...

width=10#柱状图的宽度

#直方图会进行统计各个区间的数值

frequency_each,_,_= plt.hist(x,bins,color='deepskyblue',width=width,alpha=0.7)#alpha设置透明度,0为完全透明

plt.xlabel('scores')

plt.ylabel('count')

plt.xlim(0,100)#设置x轴分布范围

plt.plot(bins[1:]-(width//2),frequency_each,color='palevioletred')#利用返回值来绘制区间中点连线

plt.show()

处理效果:

连接柱状图中心点注意:返回值的bins的数据长度比频数的长度大1,这里推荐使用从1开始直到bins结束,即将第0个元素去掉,保证二者的长度一致,当然还需要减去width的一半,保证在中点。

python hist alpha_matplotlib可视化篇hist()--直方图相关推荐

  1. python使用matplotlib可视化堆叠的直方图(stacked histogram plot)、多个类别的数据在直方图区间层面累积堆叠起来

    python使用matplotlib可视化堆叠的直方图(stacked histogram plot).多个类别的数据在直方图区间层面累积堆叠起来 目录

  2. R语言使用rnorm函数生成正太分布数据、使用hist函数可视化直方图、设置freq参数为F显示密度曲线、使用核密度估计函数density(),在直方图上绘制密度曲线

    R语言使用rnorm函数生成正太分布数据.使用hist函数可视化直方图.设置freq参数为F显示密度曲线.使用核密度估计函数density(),在直方图上绘制密度曲线 目录 R语言使用rnorm函数生 ...

  3. R语言使用hist函数可视化ovarian数据集中病例年龄分布的直方图(histogram)

    R语言使用hist函数可视化ovarian数据集中病例年龄分布的直方图(histogram) 目录 R语言使用hist函数可视化ovarian数据集中病例年龄分布的直方图(histogram)

  4. R语言使用原生包(基础导入包、graphics)中的hist函数可视化直方图(histogram plot)

    R语言使用原生包(基础导入包.graphics)中的hist函数可视化直方图(histogram plot) 目录

  5. Python使用matplotlib可视化散点图、并在可视化图像的底部和右边添加边缘直方图、自定义边缘直方图的色彩(Marginal Histogram)

    Python使用matplotlib可视化散点图.并在可视化图像的底部和右边添加边缘直方图.自定义边缘直方图的色彩(Marginal Histogram) 目录

  6. python使用matplotlib可视化3D直方图(3D histogram、三维直方图、包含三个坐标轴x、y、z)、3D直方图可视化多个维度数据的区别和联系

    python使用matplotlib可视化3D直方图(3D histogram.三维直方图.包含三个坐标轴x.y.z).3D直方图可视化多个维度数据的区别和联系 目录

  7. python使用matplotlib可视化:折线图、条形图、柱状图、直方图、饼图、雷达图(极坐标图)

    python使用matplotlib可视化:折线图.条形图.柱状图.直方图.饼图.雷达图(极坐标图) 目录

  8. 可视化篇(五)——— python绘制热力图及案例

    可视化篇(五)--- python绘制热力图及案例 摘要 效果图 python代码 摘要 本文演示了如何通过python绘制热力图,并给出了其应用于展示数据之间相关性的案例供读者参考. 效果图 pyt ...

  9. 可视化篇(四)——— python绘制双y轴、箱线图、概率分布三种图形及案例

    可视化篇(四)--- python绘制双y轴.箱线图.概率分布三种图形及案例 摘要 绘制双y轴图形 绘制箱线图 绘制概率分布图 摘要 本文演示了如何通过python绘制双y轴.箱线图.概率分布三种图形 ...

  10. C语言hist()函数第一篇

    根据https://blog.csdn.net/weixin_30552811/article/details/96804347弄懂了[N,X]= hist(X,M)这个直方图函数的原理, 因为毕设要 ...

最新文章

  1. ubuntu 禁用透明大页_Linux关于透明大页的使用与禁用介绍
  2. vim设置窗体大小的环境变量
  3. 基于深度学习的事件因果关系抽取综述
  4. Html5 Canvas 学习之路(一)
  5. 四说大数据时代“神话”:从大数据到深数据
  6. android编译error, forbidden warning出错问题解决
  7. Hibernate中Session的清理与清空
  8. 初始化方法-在类的外部给对象增加属性的隐患
  9. 使用Spring Rest和Spring Data JPA和H2以及Spring Boot示例的Restful API
  10. php编写计算程序,PHP编写的小应用——计算器
  11. linux内核数据结构实现--链表、队列和哈希
  12. 软件测试学生管理系统课程设计,软件测试课程设计-ERP进销存管理系统(1)
  13. 阿里巴巴笔试题目(接示本质的解法)
  14. php开发oa系统的插件下载不了,OA系统安装不了office控件的解决方法
  15. 数据结构视频教程 -《[北大张铭 精品课程版]数据结构与算法(C++)》
  16. EOF是什么意思以及怎么输入
  17. 张景明:方剂【方歌】——温里剂
  18. 使用Word Embedding构造简洁有效的文本摘要系统
  19. bit、byte、KB、M、G、T相互关系
  20. 项目设计Andriod部分-做一个学习类App-1

热门文章

  1. URL中的#是什么意思
  2. 计算机显示不出桌面上的文件夹,为什么电脑桌面上的EXCEL文件不显示EXCEL图标...
  3. vue鼠标经过效果实现
  4. AmMap创建交互式Flash地图
  5. html5 五线谱,五线谱难学?5分钟完成五线谱入门
  6. Java蓝桥杯 算法提高 九宫格
  7. linux命令练习4:cat命令;sort命令;grep命令以及cut命令练习
  8. 似然函数(likehood)和概率分布(probability)
  9. php5.6 oracle11,解决ORA-16055: FAL request rejected
  10. RabbitMQ 工作模式二