Matplotlib 直方图学习笔记

什么是直方图?

直方图是一种用于表示数据分布的统计图形,它将数据分成若干组,并绘制出每一组的频数或频率,以便于观察数据的分布情况。直方图通常用于描述连续型变量,例如身高、体重等。

Matplotlib绘制直方图

Matplotlib是一个Python中的数据可视化工具,它提供了丰富的图形绘制功能,其中包括绘制直方图的功能。使用Matplotlib绘制直方图需要导入matplotlib.pyplot模块,并通过调用hist方法实现。

pythonCopy Code
import matplotlib.pyplot as plt import numpy as np # 生成随机数据 np.random.seed(10) data = np.random.normal(100, 20, 1000) # 绘制直方图 plt.hist(data, bins=30, alpha=0.5, color='blue') # 设置标题和轴标签 plt.title('Histogram of Random Data') plt.xlabel('Value') plt.ylabel('Frequency') # 显示图形 plt.show()

上述代码中,我们生成了一个包含1000个随机数据的数组data,然后通过hist方法绘制直方图。bins参数指定直方图分成的组数,alpha参数指定透明度,color参数指定颜色。最后设置了标题和轴标签,并通过show方法显示图形。

示例

我们通过一个具体的示例来演示Matplotlib如何绘制直方图。假设我们有一份商店中100名顾客的购物清单,我们想要了解这批顾客的消费情况,进而对商品进行优化。

pythonCopy Code
import matplotlib.pyplot as plt import pandas as pd # 读取数据 data = pd.read_csv('shopping.csv') # 统计消费情况 consuming = data['Price'].values # 绘制直方图 plt.hist(consuming, bins=20, alpha=0.5, color='blue') # 设置标题和轴标签 plt.title('Histogram of Consuming') plt.xlabel('Price') plt.ylabel('Number of Customers') # 显示图形 plt.show()

上述代码中,我们通过pandas模块读取了一份名为shopping.csv的数据文件,并将其中的Price列截取出来。然后,通过hist方法绘制了直方图,并设置了标题和轴标签。最后,通过show方法展示了图形。

在图形中,我们可以清晰地看到价格在50元以下的商品销售量最多,而高价商品销售量较少,这为商家提供了重要的经营参考。