n,bins,patches=matplotlib.pyplot.hist(
x, bins=10, range=None, normed=False,
weights=None, cumulative=False, bottom=None,
histtype=u'bar', align=u'mid', orientation=u'vertical',
rwidth=None, log=False, color=None, label=None, stacked=False,
hold=None, **kwargs)
'''
参数值:
hist的参数非常多,但常用的有以下6个,只有第一个是必须的,后面5个可选
x: 作直方图所要用的数据,必须是一维数组。多维数组可以先进行扁平化再作图
bins: 直方图的柱数,可选项,默认为10
normed: 是否将得到的直方图向量归一化。默认为0
facecolor: 直方图颜色
edgecolor: 直方图边框颜色
alpha: 透明度
histtype: 直方图类型,‘bar’, ‘barstacked’, ‘step’, ‘stepfilled’
返回值:
n:直方图向量,是否归一化由参数normed设定。当normed取默认值时,n即为直方图各组内元素的数量(各组频数)
bins: 返回各个bin的区间范围
patches:返回每个bin里面包含的数据,是一个list
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as stats
data = np.loadtxt('eg1d1data.csv',delimiter=',')
data=np.ravel(data)
nbins=9
nt,bins,patches=plt.hist(data,nbins)
plt.rcParams['font.sans-serif']=['SimHei']
plt.xlabel("蛋白含量(分组)",fontsize=14)
plt.ylabel("频数",fontsize=14)
plt.title("100名女生测定血清蛋白含量--直方图",fontsize=14)
plt.show()
print(nt,bins,patches)
