当前位置:网站首页>matplotlib之pyplot模块之直方图(hist():基础参数,返回值)
matplotlib之pyplot模块之直方图(hist():基础参数,返回值)
2022-07-13 18:12:00 【信橙则灵】
直方图
概念: 直方图是用来衡量连续变量的概率分布的。
参数详解
使用matplotlib绘制直方图:
直方图的参数只有一个x!!!不像条形图需要传入x,y
plt.hist(
x,
bins=None,
range=None,
density=False,
weights=None,
cumulative=False,
bottom=None,
histtype='bar',
align='mid',
orientation='vertical',
rwidth=None,
log=False,
color=None,
label=None,
stacked=False,
*,
data=None,
**kwargs,
)
hist()的参数
x: 输入数据bins:可以是一个bins数量的整数值,也可以是表示bins的一个序列。默认值为10
bins(把值分成多少等份),也就是说我们需要先把连续值划分成不同等份,然后计算每一份里面数据的数量。
range
设置X轴刻度的起始刻度和结束刻度density:如果值为True,直方图的值将进行归一化处理,形成概率密度,默认值为Falsecolor:指定直方图的颜色。可以是单一颜色值或颜色的序列。如果指定了多个数据集合,颜色序列将会设置为相同的顺序。如果未指定,将会使用一个默认的线条颜色orientation:通过设置orientation为horizontal创建水平直方图。默认值为verticalalign:{'left', 'mid', 'right'}, default: 'mid'left:条形图位于左侧边缘。'mid':条形图位于中心位置。'right':条形图位于右侧边缘。
label:添加图例rwidth:条形图的相对宽度
参数实例及讲解
import numpy as np
x = np.random.randint(1,10,size = 10)
# 展示下 rwidth 的作用
print(x)
plt.hist(x, bins=5, rwidth=0.5, range = (0, 10), color = "red", label='数字统计') # 将直方图分成5份, 展示分布频率
plt.legend()
plt.show()
label: 声明图例后,使用legend(),才能显示
rwidth:设置图形所占x轴的比例
range: 设置X轴刻度的区间
代码运行结果
bins通过列表设为区间及返回值分析
print(x)
n, bins, patches = plt.hist(x, bins=[1,3,5,8,10], rwidth=0.5)
plt.show()
- 我们指定的是间隔的边缘,每一个间隔为[1,3) [3,5) [5,8) [8,10],
rwidth:会按照间隔的0.5进行展示,比如x轴1到3的一半,5到8 的一半,- 除了最后一个间隔外,所有间隔均为左闭右开
- 而且每一个间隔长度不用相等
- 在我们指定间隔外的数据会被直接忽略
注:如果
bins为列表形式,则range对其无影响
print('数字分布:', n)
print('间隔划分:', bins)
print(patches)
n:表示落入每个bins中的样本数bins: 表间隔的划分区间patches:Patch objects,暂不明白
代码运行结果
density
print(x)
n, bins, patches = plt.hist(x, bins=[1,3,5,8,10], rwidth=0.5, density=True)
plt.show()
print('数字分布:', n)
print('间隔划分:', bins)
print(patches)
density设置为True时,纵轴显示分布频率n此时为分布频率的值
参考文章
Matplotlib官方手册地址
python绘制直方图matplotlib.pyplot.hist( ) 方法常用参数详解
欢迎大家在评论区留言,知无不言,言无不尽。感觉不错的话,别忘了点赞收藏哦!

边栏推荐
- RT_ Use of thread semaphores
- Kubernetes Dashboard
- Differential reasoning over a virtual knowledge base
- “电信级”运行多年,亚信科技推出核心交易数据库AntDB7.0
- 异构计算 — 异构芯片融合趋势
- Redux基本语法
- 怎么快速定位bug?怎么编写测试用例?
- Echarts+flask+mysql retrieves data from MySQL database and displays asynchronous reports
- Remember that the app did not respond to UI automation once
- 入行软件测试之后,如何持续精进?
猜你喜欢
随机推荐
YoloV1~YoloV4
Daily question brushing record (22)
百度上传webuploader
Research on domestic and foreign speech synthesis companies
Puppeteer之提高UI层测试可读性
有关登录安全,测试人该知道些什么?
mysql基础查询语句
实在智能获两大全球顶级市场调研机构双料认证,进入全球卓越阵营
如何用 SQL 提取字符串中的字母
分许伦敦银最新走势还得看K线
【u-boot】u-boot Sandbox编译构建和使用总结
How to continue to improve after software testing?
ELECTRA
小白能看懂等Tacotron 中文语音合成实践
自动化测试工具-Playwright(快速上手)
微信小程序开发—(八)canvas绘制图形
入行软件测试之后,如何持续精进?
Thresh — 基于JS的Flutter动态化方案
Compare MySQL and pandas to count the number of people online at each time period in the live broadcast room
Shutter air safety









