概念: 直方图是用来衡量连续变量的概率分布的。
使用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,直方图的值将进行归一化处理,形成概率密度,默认值为False
color
:指定直方图的颜色。可以是单一颜色值或颜色的序列。如果指定了多个数据集合,颜色序列将会设置为相同的顺序。如果未指定,将会使用一个默认的线条颜色
orientation
:通过设置orientation
为horizontal
创建水平直方图。默认值为vertical
align:{'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轴刻度的区间
print(x)
n, bins, patches = plt.hist(x, bins=[1,3,5,8,10], rwidth=0.5)
plt.show()
rwidth
:会按照间隔的0.5进行展示,比如x轴1到3的一半,5到8 的一半,注:如果
bins
为列表形式,则range
对其无影响
print('数字分布:', n)
print('间隔划分:', bins)
print(patches)
n
:表示落入每个bins
中的样本数
bins
: 表间隔的划分区间
patches
:Patch objects
,暂不明白
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)
Matplotlib官方手册地址
python绘制直方图matplotlib.pyplot.hist( ) 方法常用参数详解
欢迎大家在评论区留言,知无不言,言无不尽。感觉不错的话,别忘了点赞收藏哦!