matplotlib 直方图
一、特点
数据必须是原始数据不能经过处理,数据连续型,显示一组或多组分布数据
histogram 直方图
normed 定额
二、核心
hist(x, bins=None, normed=None)
# x是需要统计的数据,类型:数组
# bins是组数, 组数 = (max(数组)- min(数组))//组距
# normed 默认为:频数分布直方图, 值为True为: 频率分布直方图
三、示例
1、频数直方图
from matplotlib import pyplot as plt
from matplotlib import font_manager 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,
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, 120] my_font = font_manager.FontProperties(fname="C:\Windows\Fonts\msjh.ttc")
# 设置图行大小
plt.figure(figsize=(20, 8), dpi=80)
# 绘图
movie_width = 3
num_bins = (max(a) - min(a)) // movie_width
plt.hist(a, num_bins)
# 定制x轴刻度和label
_x = list(range(min(a), max(a) + 1))
plt.xticks(_x[::movie_width])
# 添加网格
plt.grid()
# 添加说明
plt.xlabel("电影时长 单位(分)", fontproperties=my_font)
plt.ylabel("数量", fontproperties=my_font)
plt.title("电影时长频数分布直方图", fontproperties=my_font)
# 展示图片
plt.show()
2、频率直方图
频数直方图->频率直方图, 只需要在绘图的时候添加 normed=True 即可
plt.hist(a, num_bins, normed=True)
注意:
MatplotlibDeprecationWarning:
The 'normed' kwarg was deprecated in Matplotlib 2.1 and will be removed in 3.1. Use 'density' instead.
plt.hist(a, num_bins, normed=True)
四、条形图->直方图
目的:解决处理后的数据不能使用直方图的问题
方案:
1.绘图时,width=1或height=1
2.设置x轴或y轴的刻度,注意设置刻度和绘图之间没有直接的关系
例子
from matplotlib import pyplot as plt
from matplotlib import font_manager
#
my_font = font_manager.FontProperties(fname="C:\Windows\Fonts\msjh.ttc")
interval = [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 60, 90]
width = [5, 5, 5, 5, 5, 5, 5, 5, 5, 15, 30, 60]
quantity = [836, 2737, 3723, 3926, 3596, 1438, 3273, 642, 824, 613, 215, 47]
# 显示中文 # 设置图行大小
plt.figure(figsize=(20, 8), dpi=80)
# 绘图
plt.bar(range(len(interval)), quantity, width=1) # 设置x轴刻度和label
_x = range(len(interval) + 1)
_x_ticks = [i - 0.5 for i in _x]
_x_label = interval + [150]
plt.xticks(_x_ticks, _x_label)
# 添加说明
plt.xlabel("间隔", fontproperties=my_font)
plt.ylabel("数量", fontproperties=my_font)
plt.title("人口普查", fontproperties=my_font)
# 添加网格
plt.grid()
# 展示图片
plt.show()
matplotlib 直方图的更多相关文章
- matplotlib 直方图绘制详解
n, bins, patches = plt.hist(datasets, bins, normed=False, facecolor=None, alpha=None) 函数说明 用于绘制多个数据集 ...
- 【Python】matplotlib直方图纵轴显示百分比
其实很简单,就是算了一下百分比权重,乘以了一个权重值 import matplotlib.pyplot as plt from matplotlib.ticker import FuncFormatt ...
- Matplotlib直方图绘制技巧
情境引入 我们在做机器学习相关项目时,常常会分析数据集的样本分布,而这就需要用到直方图的绘制. 在Python中可以很容易地调用matplotlib.pyplot的hist函数来绘制直方图.不过,该函 ...
- matplotlib直方图
import matplotlib.pyplot as plt import matplotlib as mpl from matplotlib.font_manager import FontPro ...
- Matplotlib 饼图
章节 Matplotlib 安装 Matplotlib 入门 Matplotlib 基本概念 Matplotlib 图形绘制 Matplotlib 多个图形 Matplotlib 其他类型图形 Mat ...
- Matplotlib 多个图形
章节 Matplotlib 安装 Matplotlib 入门 Matplotlib 基本概念 Matplotlib 图形绘制 Matplotlib 多个图形 Matplotlib 其他类型图形 Mat ...
- Matplotlib 图形绘制
章节 Matplotlib 安装 Matplotlib 入门 Matplotlib 基本概念 Matplotlib 图形绘制 Matplotlib 多个图形 Matplotlib 其他类型图形 Mat ...
- Matplotlib 安装
章节 Matplotlib 安装 Matplotlib 入门 Matplotlib 基本概念 Matplotlib 图形绘制 Matplotlib 多个图形 Matplotlib 其他类型图形 Mat ...
- Matplotlib 入门
章节 Matplotlib 安装 Matplotlib 入门 Matplotlib 基本概念 Matplotlib 图形绘制 Matplotlib 多个图形 Matplotlib 其他类型图形 Mat ...
随机推荐
- UVa 1635 - Irrelevant Elements-[分解质因数]
Young cryptoanalyst Georgie is investigating different schemes of generating random integer numbers ...
- P1083 合并序列
题目描述 有N个单词和字符串T,按字典序输出以字符串T为前缀的所有单词. 输入格式 输入文件第一行包含一个正整数N: 接下来N行,每行一个单词,长度不超过100: 最后一行包含字符串T. 已知:1≤N ...
- linux 使用 gdb
gdb 对于看系统内部是非常有用. 在这个级别精通调试器的使用要求对 gdb 命令有信心, 需要理解目标平台的汇编代码, 以及对应源码和优化的汇编码的能力. 调试器必须把内核作为一个应用程序来调用. ...
- H3C通过桥ID决定端口角色
- Checkpoint checkup中文报告模板使用
步骤: Step1:下载中文版语言包和字体 https://supportcenter.checkpoint.com/supportcenter/portal?action=portlets.DCFi ...
- Python7_内置函数总结
Python Built-In 函数: str(obj) :输入(对象),返回一个对象的string格式: isinstance(object,classinfo):判断一个对象是否是一个已知的类型, ...
- Java 从入门到进阶之路(十九)
在之前的文章我们介绍了一下 Java 中的Object,本章我们来看一下 Java 中的包装类. 在 Java 中有八个基本类型:byte,short,int,long,float,double,ch ...
- mysql中information_schema.views字段说明
1.查看视图并不是查询视图数据,而是查看数据库中已经存在的视图的定义,查看视图必须要有SHOW VIEW权限,MySQL的数据库下的user表中存储这这个数据.查看视图的方法有:DESCRIBE,SH ...
- SpringJDBC的使用(转载)
转载自 https://www.yiibai.com/spring/maven-spring-jdbc-example.html 工具: eclipse4.7.2及mysql-8.0.13 项目最 ...
- spring boot(二)热部署
1.打开idea的设置界面 File | Settings > Build, Execution, Deployment > Compiler 2.勾选Buildproject antom ...