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 相关文章推荐
python实现文件分组复制到不同目录的例子
Jun 04 Python
全面解读Python Web开发框架Django
Jun 30 Python
Python数据分析之如何利用pandas查询数据示例代码
Sep 01 Python
tensorflow: variable的值与variable.read_value()的值区别详解
Jul 30 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
Oct 21 Python
用python代码将tiff图片存储到jpg的方法
Dec 04 Python
Python线程池模块ThreadPoolExecutor用法分析
Dec 28 Python
python opencv捕获摄像头并显示内容的实现
Jul 11 Python
python 并发编程 多路复用IO模型详解
Aug 20 Python
django 外键创建注意事项说明
May 20 Python
使用Python实现音频双通道分离
Dec 25 Python
Jupyter Notebook添加代码自动补全功能的实现
Jan 07 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
PHP5中Cookie与 Session使用详解
2013/04/30 PHP
php跨域cookie共享使用方法
2014/02/20 PHP
PHP中COOKIES使用示例
2015/07/26 PHP
PHP对XML内容进行修改和删除实例代码
2016/10/26 PHP
PHP实现重载的常用方法实例详解
2017/10/18 PHP
jquery 上下滚动广告
2009/06/17 Javascript
jquery pagination插件实现无刷新分页代码
2009/10/13 Javascript
jquery CSS选择器笔记
2010/03/29 Javascript
Js 刷新框架页的代码
2010/04/13 Javascript
基于jQuery的前端数据通用验证库
2011/08/08 Javascript
javascript面向对象编程代码
2011/12/19 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
js生成随机数的方法实例
2015/10/16 Javascript
深入剖析Express cookie-parser中间件实现示例
2018/02/01 Javascript
jquery-ui 进度条功能示例【测试可用】
2019/07/25 jQuery
jQuery实现倒计时功能完整示例
2020/06/01 jQuery
[04:26]2014DOTA2西雅图国际邀请赛 总决赛TOPPLAY
2014/07/22 DOTA
wxpython 学习笔记 第一天
2009/03/16 Python
浅谈Python的异常处理
2016/06/19 Python
python自动裁剪图像代码分享
2017/11/25 Python
PyCharm搭建Spark开发环境的实现步骤
2019/09/05 Python
python使用yield压平嵌套字典的超简单方法
2019/11/02 Python
关于多元线性回归分析——Python&SPSS
2020/02/24 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
2020/03/19 Python
Python使用Excel将数据写入多个sheet
2020/05/16 Python
使用Nibabel库对nii格式图像的读写操作
2020/07/01 Python
django form和field具体方法和属性说明
2020/07/09 Python
CSS3弹性盒模型flex box快速入门心得(必看篇)
2016/05/24 HTML / CSS
中国最大的名表商城:万表网
2016/08/29 全球购物
学生安全教育材料
2014/02/14 职场文书
教育技术职业规划范文
2014/03/04 职场文书
离职感谢信
2015/01/21 职场文书
商务司机岗位职责
2015/04/10 职场文书
青年岗位能手事迹材料(2016推荐版)
2016/03/01 职场文书
Ubuntu18.04下QT开发Android无法连接设备问题解决实现
2022/06/01 Java/Android