Matplotlib 直方图

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输入结果为:
Matplotlib 直方图

直方图的输出结果为:
Matplotlib 直方图

下面尝试修改直方图的颜色及边框颜色,如下所示:

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 添加图例
Matplotlib 添加网格

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程