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重新引入被覆盖的自带function
Jul 16 Python
Python查找相似单词的方法
Mar 05 Python
深入理解Python中命名空间的查找规则LEGB
Aug 06 Python
使用pyecharts无法import Bar的解决方案
Apr 23 Python
Python操作csv文件实例详解
Jul 31 Python
windows下搭建python scrapy爬虫框架步骤
Dec 23 Python
Python设计模式之外观模式实例详解
Jan 17 Python
Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围
Jun 25 Python
python pandas获取csv指定行 列的操作方法
Jul 12 Python
详解python中的index函数用法
Aug 06 Python
Django认证系统实现的web页面实现代码
Aug 12 Python
Vs Code中8个好用的python 扩展插件
Oct 12 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新手上路(十一)
2006/10/09 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
2016/05/18 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
php接口隔离原则实例分析
2019/11/11 PHP
lib.utf.js
2007/08/21 Javascript
jQuery live( type, fn ) 委派事件实现
2009/10/11 Javascript
window.open不被拦截的实现代码
2012/08/22 Javascript
利用webqq协议使用python登录qq发消息源码参考
2013/04/08 Javascript
js 获取radio按钮值的实例
2013/08/17 Javascript
js闭包实例汇总
2014/11/09 Javascript
嵌入式iframe子页面与父页面js通信的方法
2015/01/20 Javascript
javascript转换日期字符串为Date日期对象的方法
2015/02/13 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
node.js调用C++开发的模块实例
2015/07/03 Javascript
很棒的一组js图片轮播特效
2017/01/12 Javascript
jQuery实现Table表格隔行变色及高亮显示当前选择行效果示例
2017/02/14 Javascript
解决vue数据不实时更新的问题(数据更改了,但数据不实时更新)
2020/10/27 Javascript
[02:41]DOTA2英雄基础教程 亚巴顿
2014/01/02 DOTA
[42:32]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第二场 10.28
2020/10/28 DOTA
本地文件上传到七牛云服务器示例(七牛云存储)
2014/01/11 Python
在Python中使用poplib模块收取邮件的教程
2015/04/29 Python
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
python搭建服务器实现两个Android客户端间收发消息
2018/04/12 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
Python操作SQLite/MySQL/LMDB数据库的方法
2019/11/07 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
2020/01/22 Python
Python类继承和多态原理解析
2020/02/05 Python
加拿大折扣、优惠券和交易网站:WagJag
2018/02/07 全球购物
Java里面StringBuilder和StringBuffer有什么区别
2016/06/06 面试题
公司年会晚宴演讲稿
2014/01/06 职场文书
员工拾金不昧表扬信
2014/01/09 职场文书
运动会入场词50字
2014/02/20 职场文书
小学生寒假家长评语
2014/04/16 职场文书
节能环保演讲稿
2014/08/28 职场文书
乡镇机关党员民主评议表自我评价
2014/09/21 职场文书
关于MybatisPlus配置双数据库驱动连接数据库问题
2022/01/22 Java/Android