python matplotlib库直方图绘制详解


Posted in Python onAugust 10, 2019

例题:假设你获取了250部电影的时长(列表a中),希望统计出这些电影时长的分布状态(比如时长为100分钟到120分钟电影的数量,出现的频率)等信息,你应该如何呈现这些数据?

一些概念及问题:

  • 把数据分为多少组进行统计
  • 组数要适当,太少会有较大的统计误差,太多规律不明显
  • 组数:将数据分组,共分为多少组
  • 组距:指每个小组的两个端点的距离
  • 组数:极差 / 组距,也就是 (最大值-最小值)/ 组距
  • 频数分布直方图与频率分布直方图,hist()方法需增加参数normed
  • 注意:一般来说能够使用plt.hist()方法绘制的直方图是那些没有统计过的数据,如果是统计过的数据为了能绘制像直方图一样的效果,可以使用条形图plt.bar()方法来绘制,不过中间过程就会稍微麻烦一些
from matplotlib import pyplot as plt
import matplotlib
font = {'family': 'MicroSoft YaHei'}
matplotlib.rc('font', **font) # 使支持中文

a = [131, 98, 125, 131, 124, 139, 131, 117, 128, 108, 135, 138, 131, 102, 107, 114, 119, 128, 121, 142, 127, 130, 124,
   101, 110, 116, 117, 110, 128, 128, 115, 99, 136, 126, 134, 95, 138, 117, 111, 78, 132, 124, 113, 150, 110, 117, 86,
   95, 144, 105, 126, 130, 126, 130, 126, 116, 123, 106, 112, 138, 123, 86, 101, 99, 136, 123, 117, 119, 105, 137,
   123, 128, 125, 104, 109, 134, 125, 127, 105, 120, 107, 129, 116, 108, 132, 103, 136, 118, 102, 120, 114, 105, 115,
   132, 145, 119, 121, 112, 139, 125, 138, 109, 132, 134, 156, 106, 117, 127, 144, 139, 139, 119, 140, 83, 110, 102,
   123, 107, 143, 115, 136, 118, 139, 123, 112, 118, 125, 109, 119, 133, 112, 114, 122, 109, 106, 123, 116, 131, 127,
   115, 118, 112, 135, 115, 146, 137, 116, 103, 144, 83, 123, 111, 110, 111, 100, 154, 136, 100, 118, 119, 133, 134,
   106, 129, 126, 110, 111, 109, 141, 120, 117, 106, 149, 122, 122, 110, 118, 127, 121, 114, 125, 126, 114, 140, 103,
   130, 141, 117, 106, 114, 121, 114, 133, 137, 92, 121, 112, 146, 97, 137, 105, 98, 117, 112, 81, 97, 139, 113, 134,
   106, 144, 110, 137, 137, 111, 104, 117, 100, 111, 101, 110, 105, 129, 137, 112, 120, 113, 133, 112, 83, 94, 146,
   133, 101, 131, 116, 111, 84, 137, 115, 122, 106, 144, 109, 123, 116, 111, 111, 133, 150]
# 计算组数
d = 3 # 组距
num_bins = (max(a) - min(a)) // d # 计算组距的公式
plt.figure(figsize=(20, 8), dpi=80) # 设置图片大小
plt.hist(a, num_bins) # 加上normed=True属性之后变为频率分布直方图
# 设置x轴的刻度
plt.xticks(range(min(a), max(a)+d, d))
plt.grid(alpha=0.3)
plt.show()

效果图

python matplotlib库直方图绘制详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Django的URLconf中使用多个视图前缀的方法
Jul 18 Python
matplotlib savefig 保存图片大小的实例
May 24 Python
python3解析库BeautifulSoup4的安装配置与基本用法
Jun 26 Python
Python单元测试简单示例
Jul 03 Python
Python实现基于C/S架构的聊天室功能详解
Jul 07 Python
python框架中flask知识点总结
Aug 17 Python
在Python函数中输入任意数量参数的实例
Jul 16 Python
通过实例简单了解Python中yield的作用
Dec 11 Python
pandas中ix的使用详细讲解
Mar 09 Python
Python捕获异常堆栈信息的几种方法(小结)
May 18 Python
Python 中的函数装饰器和闭包详解
Feb 06 Python
利用python Pandas实现批量拆分Excel与合并Excel
May 23 Python
python字典的遍历3种方法详解
Aug 10 #Python
python命名空间(namespace)简单介绍
Aug 10 #Python
简单介绍python封装的基本知识
Aug 10 #Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
Aug 09 #Python
python selenium爬取斗鱼所有直播房间信息过程详解
Aug 09 #Python
用Python实现二叉树、二叉树非递归遍历及绘制的例子
Aug 09 #Python
基于python二叉树的构造和打印例子
Aug 09 #Python
You might like
php str_pad 函数使用详解
2009/01/13 PHP
Smarty Foreach 使用说明
2010/03/23 PHP
thinkPHP下的widget扩展用法实例分析
2015/12/26 PHP
PHP生成和获取XML格式数据的方法
2016/03/04 PHP
Ajax请求PHP后台接口返回信息的实例代码
2018/08/21 PHP
tp5 实现列表数据根据状态排序
2019/10/18 PHP
javascript replace()正则替换实现代码
2010/02/26 Javascript
jquery实现表格奇数偶数行不同样式(有图为证及实现代码)
2013/01/23 Javascript
Javascript技术栈中的四种依赖注入详解
2016/02/23 Javascript
深入理解angularjs过滤器
2016/05/25 Javascript
react实现pure render时bind(this)隐患需注意!
2017/03/09 Javascript
Vue-cropper 图片裁剪的基本原理及思路讲解
2018/04/17 Javascript
JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
2018/07/23 Javascript
js操作table中tr的顺序实现上移下移一行的效果
2018/11/22 Javascript
jquery简单实现纵向的无缝滚动代码实例
2019/04/01 jQuery
vue中img src 动态加载本地json的图片路径写法
2019/04/25 Javascript
react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面
2019/11/12 Javascript
JS前端面试必备——基本排序算法原理与实现方法详解【插入/选择/归并/冒泡/快速排序】
2020/02/24 Javascript
toString.call()通用的判断数据类型方法示例
2020/08/28 Javascript
Vant+postcss-pxtorem 实现浏览器适配功能
2021/02/05 Javascript
详解Python中的type()方法的使用
2015/05/21 Python
Python实现优先级队列结构的方法详解
2016/06/02 Python
python 顺时针打印矩阵的超简洁代码
2018/11/14 Python
windows下 兼容Python2和Python3的解决方法
2018/12/05 Python
Python根据欧拉角求旋转矩阵的实例
2019/01/28 Python
CSS3的Flexbox布局的简明入门指南
2016/04/08 HTML / CSS
详解HTML5 canvas绘图基本使用方法
2018/01/29 HTML / CSS
美国最大的团购网站:Groupon
2016/07/23 全球购物
公司保密承诺书
2014/03/27 职场文书
经济贸易系毕业生求职信
2014/05/31 职场文书
环境科学专业求职信
2014/08/04 职场文书
2014年教师批评与自我批评思想汇报
2014/09/20 职场文书
交通事故死亡赔偿协议书
2014/12/03 职场文书
师德培训心得体会2016
2016/01/09 职场文书
springboot中一些比较常用的注解总结
2021/06/11 Java/Android
GPU服务器的多用户配置方法
2022/07/07 Servers