数据可视化
Matplotlib绘制直方图
一、实验名称
Matplotlib绘制直方图
二、实验目的
通过该实验的实践,要求学生能够使用Matplotlib绘制直方图。
三、实验原理
绘制频数分布直方图,需要对数据进行分组,并计算每个组的频数。直方图的组距是一个固定不变的值,它代表了每个组的间隔大小。通过频数乘以组距的计算过程,可以得出每个分组的数量。这样,我们可以在直方图中直观地看出每个分组的数量,同时保持数据分布状态不变。
四、实验步骤
一、本实验使用“Titanic数据集” 。数据如下图所示
二、环境搭建
1、打开终端Terminal
2、下载数据到本地
(1)在终端Terminal界面,输入以下代码,切换到E:\数据可视化\实验\代码1目录
(2)下载titanic.csv文件
(3)打开jupyter
在打开的浏览器中,新建python3文件
以下代码均在jupyter中编写
三、代码实现
1、导入需要的库和模块
2、读取titanic数据集
3、提取年龄数据
4、绘制的直方图,代码如下:
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
data = pd.read_csv("E:/数据可视化/实验/代码1/titanic.csv")
age_data = data["age"].dropna() # 去除缺失值
# 设置中文字体
plt.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文
plt.rcParams['axes.unicode_minus']=False # 正常显示负号
plt.hist(age_data, bins=20, edgecolor='black', alpha=0.7) # 设置分成20个箱子,边界颜色为黑色,透明度为0.7
plt.xlabel("年龄")
plt.ylabel("人数")
plt.title("Titanic船上人员年龄分布直方图")
plt.show()
绘制的直方图如下所示:
五、实验总结
本实验通过matplotlib库绘制直方图,取Titanic数据集,按数据集中的年龄列绘制分布直方图。从绘制的直方图中可以看出,Titanic船上的乘客年龄主要集中在20岁到40岁之间,并且年龄在10岁以下和50岁以上的乘客数量相对较少。这样的年龄分布信息有助于我们了解乘客的年龄结构和整体年龄分布情况。直方图是一种非常有效的方式来展示数据的分布,帮助我们对数据进行初步的认识和分析。