1.什么是直方图:
直方图(Histogram),又称质量分布图,是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据类型,纵轴表示分布情况。
直方图也可以被归一化以显示“相对”频率。 然后,它显示了属于几个类别中的每个案例的比例,其高度等于1。
'''
matplotlib 直方图
x轴显示 类型
y轴显示频率
'''
def histogram(x1,title_list,img_save_url,area,ranges):
for i in range(0, len(x1)):
# 设置图片宽高
plt.rcParams['figure.figsize'] = (20.0, 10.0)
# 设置保存图片分辨率
plt.rcParams['savefig.dpi'] = 200
plt.rcParams['figure.dpi'] = 200
# 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['Simhei']
ss = pd.to_numeric(x1[i])
bins = ranges[i]
fig, ax = plt.subplots()
ax.yaxis.grid(True, linestyle='--')
# 直方图方法
plt.hist(ss, bins=bins, color='#FF8355', histtype='bar', rwidth=10)
# Add some text for labels, title and custom x-axis tick labels, etc.
ax.set_ylabel(u'个数', fontsize=25) # y轴标签
ax.set_xlabel(title_list[i], fontsize=25) # x轴标签
ax.set_title(area + title_list[i] + u'直方图', fontsize=30) # title
ax.legend()
fig.tight_layout()
plt.xticks(rotation=90, fontsize=19)
plt.yticks(fontsize=19)
# 把mat生成的图片保存到本地 去边框
plt.savefig(img_save_url + area + title_list[i] + u'直方图' + '.png', bbox_inches='tight', pad_inches=0.0)
plt.show()
调用:
# # 直方图
# # 马帮 Maharashtra 091027
# # range1_moianji = range(300, 1201, 100)
# # range2_danchan = range(55, 96, 5)
# # range3_zongchan = range(20000, 100001,10000)
# # range4_zongchan = range(0, 1, 0.1)
# # range_list = [range1_moianji,range2_danchan,range3_zongchan,range4_zongchan]
# # xx = [x1,x2,y,deep_le]
# # title_list = [u'种植面积',u'单产',u'总产',u'水位']
#
# # new
# # getData.get_deepData_max_min()
# # getData.get_deepData()
# # range_list = [range4_zongchan]
# # xx = [deep_le]
# # title_list = [u'水位']
# # area_list = 'Maharashtra'
# # histogram(xx,title_list,u'C:/pythonProject/数据分析tool/img1/',area_list,range_list)