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实现抓取网页并且解析的实例
Sep 20 Python
给Python中的MySQLdb模块添加超时功能的教程
May 05 Python
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
Apr 18 Python
Python之web模板应用
Dec 26 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
May 18 Python
Python进阶之全面解读高级特性之切片
Feb 19 Python
Python3实现的旋转矩阵图像算法示例
Apr 03 Python
python代码能做成软件吗
Jul 24 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
Nov 17 Python
python实现三阶魔方还原的示例代码
Apr 28 Python
Pytorch 如何实现LSTM时间序列预测
May 17 Python
Python可视化学习之seaborn绘制矩阵图详解
Feb 24 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
Laravel用户授权系统的使用方法示例
2018/09/16 PHP
PHP copy函数使用案例代码解析
2020/09/01 PHP
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
JQuery Study Notes 学习笔记(一)
2010/08/04 Javascript
js弹出确认是否删除对话框
2014/03/27 Javascript
js实现input框文字动态变换显示效果
2015/08/19 Javascript
基于jquery步骤进度条源码分享
2015/11/12 Javascript
Bootstrap表单Form全面解析
2016/06/13 Javascript
浅谈angular懒加载的一些坑
2016/08/20 Javascript
AngularJS中$http使用的简单介绍
2017/03/17 Javascript
js实现一个简单的数字时钟效果
2017/03/29 Javascript
vue.js移动端tab组件的封装实践实例
2017/06/30 Javascript
bootstrap Table插件使用demo
2017/08/07 Javascript
详解vue axios中文文档
2017/09/12 Javascript
js实现简单数字变动效果
2017/11/06 Javascript
jquery 输入框查找关键字并提亮颜色的实例代码
2018/01/23 jQuery
vue使用原生js实现滚动页面跟踪导航高亮的示例代码
2018/10/25 Javascript
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
2020/01/16 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
python模拟新浪微博登陆功能(新浪微博爬虫)
2013/12/24 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
python 打印直角三角形,等边三角形,菱形,正方形的代码
2017/11/21 Python
Python3.6简单反射操作示例
2018/06/14 Python
Python装饰器基础概念与用法详解
2018/12/22 Python
Django REST framework 视图和路由详解
2019/07/19 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
2019/08/18 Python
html5实现canvas阴影效果示例
2014/05/07 HTML / CSS
一文彻底解决HTML5页面中长按保存图片功能
2019/06/10 HTML / CSS
土耳其时尚购物网站:Morhipo
2017/09/04 全球购物
如何将整数int转换成字串String
2014/03/21 面试题
白莲教口号
2014/06/18 职场文书
学习雷锋标语
2014/06/25 职场文书
教师个人读书活动总结
2014/07/08 职场文书
党的群众路线教育实践活动个人整改方案
2014/10/25 职场文书
学习弘扬焦裕禄精神心得体会
2016/01/23 职场文书
餐厅如何利用“营销策略”扭转亏本局面
2019/10/15 职场文书