直方图和条形图区别:
直方图用于表示连续变量的分布情况,将数据分成若干个区间,每个区间的高度表示数据的频数或者频率。直方图的横轴表示数据的取值范围,纵轴表示数据的频率或者频数。直方图通常用于探索数据的分布情况,例如数据的中心位置、离散程度、偏态和峰度等。
条形图适用于比较不同类别或者组的数据,横轴表示数据值,纵轴表示类别或者组/条形图的条形宽和间距通常是相等的,条形的高度表示数据的大小或者比例,例如:不同产品的销售额、不同地区的人口数量等。
matplotlib模块绘制直方图
# matplotlib模块绘制直方图
# 导入第三方模块
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
# 读入数据
Titanic = pd.read_csv(r'titanic_train.csv')
# matplotlib模块绘制直方图
# 检查年龄是否有缺失
any(Titanic.Age.isnull())
# 不妨删除含有缺失年龄的观察
Titanic.dropna(subset=['Age'], inplace=True)
# 绘制直方图
plt.hist(x = Titanic.Age, # 指定绘图数据
bins = 20, # 指定直方图中条块的个数
color = 'steelblue', # 指定直方图的填充色
edgecolor = 'black' # 指定直方图的边框色
)
# 添加x轴和y轴标签
plt.xlabel('年龄')
plt.ylabel('频数')
# 添加标题
plt.title('乘客年龄分布')
# 显示图形
plt.show()
Pandas模块绘制直方图和核密度图
# Pandas模块绘制直方图和核密度图
# 导入第三方模块
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
# 读入数据
Titanic = pd.read_csv(r'titanic_train.csv')
# 绘制直方图
Titanic.Age.plot(kind='hist', bins=20, color='steelblue', edgecolor='black', density=True, label='直方图')
# 绘制核密度图
Titanic.Age.plot(kind='kde', label='核密度图')
# 添加x轴和y轴标签
plt.xlabel('年龄')
plt.ylabel('核密度值')
# 添加标题
plt.title('乘客年龄分布')
# 显示图例
plt.legend()
# 限制横坐标范围
plt.xlim(0, 100)
# 显示图形
plt.show()