Matplotlib 直方图,直方图由竖立在x轴上的多个相邻的矩阵组成,pyplot用于绘制直方图的函数为hist(),该函数具有一个其他绘制函数没有的功能。它除了绘制直方图外,还以元组形式返回直方图的计算结果。
极客教程前面章节介绍了Matplotlib 线性图,本文介绍直方图,后面还会介绍条状图、饼图、极区图等等,供读者参考。
事实上,hist()函数还可以实现直方图的计算,它能够接收一系列样本个体和期望的面元数量作为参数,会把样本范围分成多个区间(面元),然后计算每个面元所包含的样本个体的数量。运算结果除了以图形形式表示外,还能以元组形式返回。
如下所示,首先使用random.randint()函数生成100个0-100的随机数作为样本。然后把刚生成的样本数据作为参数传给hist()函数,创建一个直方图。这里我们把样本个体分到20个面元中,关键之参数bin的值就设置为20。
import matplotlib.pyplot as plt import numpy as np pop = np.random.randint(0, 100, 100) print(pop) plt.hist(pop, bins=20) plt.show()
pop输入结果为:
直方图的输出结果为:
下面尝试修改直方图的颜色及边框颜色,如下所示:
import matplotlib.pyplot as plt import numpy as np import matplotlib # 设置matplotlib正常显示中文和负号 matplotlib.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文 matplotlib.rcParams['axes.unicode_minus']=False # 正常显示负号 # 随机生成(10000,)服从正态分布的数据 data = np.random.randn(10000) """ 绘制直方图 data:必选参数,绘图数据 bins:直方图的长条形数目,可选项,默认为10 facecolor:长条形的颜色 edgecolor:长条形边框的颜色 alpha:透明度 """ plt.hist(data, bins=40, facecolor="blue", edgecolor="black", alpha=0.7) # 显示横轴标签 plt.xlabel("区间") # 显示纵轴标签 plt.ylabel("频数/频率") # 显示图标题 plt.title("geek-docs.com", fontsize=20, fontname="Times New Roman") plt.show()
输入结果如下:
极客教程相关文章推荐:
Matplotlib 线性图
Matplotlib 处理日期
Matplotlib 添加图例
Matplotlib 添加网格
版权声明:本页面内容旨在传播知识,为用户自行发布,若有侵权等问题请及时与本网联系,我们将第一时间处理。E-mail:284563525@qq.com