python用hist参数解读
python 中绘制hist的方法有很多,我经常用的是matplotlib直接用x,y绘制;Dataframe直接.hist绘制;
绘制直方图
1.bins为80的图形
fig = plt.figure(figsize=(15, 9))
for i in range(12):
plt.subplot(3,4,i+1) # 3行4列 位置是i+1的子图
df[colnm[i]].hist(bins=80, color=color[1])
plt.xlabel(colnm[i], fontsize=13)
plt.ylabel(‘Frequency’)
plt.tight_layout()
plt.savefig(‘xxx.png’)
print(‘直方图’)
2.bins为150的图形
3.bins为10的图形
参数解读
参数名类型描述
dataDataFramepandas数据对象,存储数据
columnstring或者sequence如果传递了这个参数,则画图时只用到数据的一个子集,具体是谁,由本参数值指定
byobject这就是Group By里的by,会按照分组来绘制直方图
gridboolean是否显示坐标线
xlabelsizeint如果指定了这个值,则可以改变x-axis的标记尺寸
xrotfloat旋转x轴的度数
ylabelsizeint如果指定了这个值,则可以改变y-axis的标记尺寸
yrotfloat旋转y轴的度数
axMatplot axes指定要绘制直方图的坐标系
sharexboolean如果ax为None则默认为True否则默认为False。在subplots=True时,会共享x轴并将某个x轴设置为不可见;如果ax传递进来了,且sharex=True,会改变所有子图的x轴的标记。
shareybooelan同理可推导出sharey的功效。
figsizetuple单位是英寸,表示要创建的图的大小。默认使用在matplotlib.rcParams中定义的数值。
layouttuple(rows, columns),表示绘图有多少行多少列。
binsint或者sequence默认为10,就是指定显示多少竖条
**kwds其他的关键词参数可以在这里传递
axes(返回值)返回一个matplotlib.AxesSubplot或者numpy.ndarray对象
绘图都可以调用matplotlib.pyplot库来进行,其中的hist函数可以直接绘制直方图。
调用方式:
n, bins, patches = plt.hist(arr, bins=10, normed=0, facecolor=‘black’, edgecolor=‘black’,alpha=1,histtype=‘bar’)
hist的参数非常多,但常用的就这六个,只有第一个是必须的,后面四个可选
arr: 需要计算直方图的一维数组
bins: 直方图的柱数,可选项,默认为10
normed: 是否将得到的直方图向量归一化。默认为0
facecolor: 直方图颜色
edgecolor: 直方图边框颜色
alpha: 透明度
histtype: 直方图类型,‘bar’, ‘barstacked’, ‘step’, ‘stepfilled’
返回值 :
n: 直方图向量,是否归一化由参数normed设定
bins: 返回各个bin的区间范围
patches: 返回每个bin里面包含的数据,是一个list