使用函数:
DataFrame.
hist
(column=None, by=None, grid=True, xlabelsize=None, xrot=None, ylabelsize=None, yrot=None, ax=None, sharex=False, sharey=False, figsize=None, layout=None, bins=10, **kwds)
功能:制作DataFrame的直方图
直方图是数据分布的表示。此函数在DataFrame中的每个系列上调用matplotlib.pyplot.hist(),每列产生一个直方图。
参数: | data : DataFrame
column : string or sequence
by : object, optional
grid : boolean, default True
xlabelsize : int, default None
xrot : float, default None
ylabelsize : int, default None
yrot : float, default None
ax : Matplotlib axes object, default None
sharex : boolean, default True if ax is None else False
sharey : boolean, default False
figsize : tuple
layout : tuple, optional
bins : integer or sequence, default 10
**kwds
|
---|---|
Returns: | axes : matplotlib.AxesSubplot or numpy.ndarray of them |
本实施例中绘制直方图基于某些动物的长度和宽度
>>> df = pd.DataFrame({
... 'length': [1.5, 0.5, 1.2, 0.9, 3],
... 'width': [0.7, 0.2, 0.15, 0.2, 1.1]
... }, index= ['pig', 'rabbit', 'duck', 'chicken', 'horse'])
# 显示在3个bins中
>>> hist = df.hist(bins=3)
# 显示在100个bins中
df.hist(grid=False,column="width",bins=100)
绘制直方图默认每一列显示一张图,也就是输入几列就显示几张图。
df["width"].hist()
或者(指定列)
df.hist(column="width")
参数是英寸,注意哦!
df["width"].hist(figsize=(8,4))
df["width"].hist(grid=False)
注意:layout的值必须大于DataFrame列的数量,如5列不能显示2x2布局。
建议figsize调大,不然下一行图像的标题会和上一行图像的X轴数值重叠。
df1 = pd.DataFrame({
'length': [1.5, 0.5, 1.2, 0.9, 3],
'width': [0.7, 0.2, 0.15, 0.2, 1.1],
'A':[1,2,3,1,2],
'B':[0.1,0.2,0.3,0.4,0.1],
'C':[1,2,3,4,5]
}, index= ['pig', 'rabbit', 'duck', 'chicken', 'horse'])
df1.hist(layout=(3,3),figsize=(8,8))
df.hist(grid=False,column="width",alpha=0.5)
参考:
http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.hist.html?highlight=hist#pandas.DataFrame.hist