Lab4_2 Matplotlib库实践 LeeRinji

实验目的

学习 Matplotlib 库绘制 2D 图。

实验简介

Anaconda 自带 Matplotlib 库,不需要单独安装,导入后则可以应用。Matplotlib 是最著名的绘图库,它主要用于二维绘图,当然它也可以进行简单的三维绘图。它允许用户使用 Python 创建动态的、自动义的可视化结果,其绘图结果直接显示在 Jupyter notebook 中。

参考链接

实验环境

硬件

所用机器型号为 VAIO Z Flip 2016

软件

实验内容给定数据集《深圳各区二手房数据》,基于 Matplotlib 和 Seaborn 完成以下内容

预处理:导入库和数据。

import numpy
import pandas
import matplotlib.pyplot as plt
import seaborn as sns
df=pandas.read_csv("shenzhenhouse.csv")
df

绘制直方图(对比 matplotlib.pyplot 及 seaborn 的绘制效果):深圳房价单价分布

可以发现,使用默认配置的时候,seaborn 的代码更少且生成结果更加细致。

pyplot

plt.rcParams['font.sans-serif']=['SimHei']
plt.hist(df['单价'])
plt.xlabel('单价')
plt.ylabel('频数')
plt.show()

pic

seaborn

sns.distplot(df['单价'])

pic

绘制箱型图:深圳各区的房价分布、不同楼层的房价分布,设置箱型图的各项参数

sns.boxplot(data=df,y='单价',x='区');

pic

sns.boxplot(data=df,y='单价',x='楼层');

pic

绘制热力矩阵,查看不同变量之间的相关性强弱

sns.heatmap(df.corr())

pic

尝试绘制 jointplot 及 pairplot

sns.jointplot(data=df,y='单价',x='面积');

pic

sns.pairplot(df);

pic

绘制累计频率直方图:深圳单价分布

sns.distplot(df['单价'])

pic

通过可视化方法探索人们最关注什么户型的房子

sns.boxplot(data=df,y='关注人数',x='户型');

如图,可以看出,3 室 2 厅及 2 室 1 厅的房子最受人们青睐。

pic

自定义不同的价格区间绘制深圳单价在定义的价格区间内分布的直方图

这里以价格$[40000,60000]$区间内的频数分布为例。

plt.rcParams['font.sans-serif']=['SimHei']
plt.hist(df['单价'],range=(40000,60000))
plt.xlabel('单价')
plt.ylabel('频数')
plt.show()

pic

实验总结

通过这次实验,让我更加熟悉了一些 matplotlib.pyplot 及 seaborn 库的使用。