我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第1篇文章,点击查看活动详情
想要查看各个分类中的数据分布,显而易见,散点图是不满足需求的,因为:它不够直观。今天,我们将介绍两种统计学图形的绘制,进行数据可视化。
1. 箱形图
- 箱形图(Box-plot)又称为盒形图、箱线图等等,是一种用作显示一组数据分散情况的统计图,因为该图像像箱子而得名。
- 箱形图在1977年被美国著名统计学家Juhn Turkey发明,它能显示出一组数据的最大值、最小值、中位数、以及上下四分位数。
1.1 绘制箱形图
seaborn中用于绘制箱形图的函数为boxplot(),具体语法如下所示:
seaborn.boxplot(x=None, y=None, hue=None, data=None, orient=None, color=None, saturation=0.75, width=0.8)
-
palette:用于设置不同级别色相的颜色变量
- palette=["r", "g", "b", "y"]
-
saturation:用于设置数据显示的颜色饱和度
- 使用小数表示
-
data:传入的数据
-
x:x轴名称
-
y:y轴名称
1.2 代码演示
使用的是Jupyter Notebook完成下列代码案例。
步骤1:导入相关模块并读取数据
读取完数据,因为数据过大过多,所以我们拿出前1000个样本(前1000行),以及数据中四个特征(四列):Longitude,City,State/Province,Country。进行演示。
import pandas as pd
import numpy as np
import seaborn as sns
# 3. 类别内数据分布
directory = pd.read_csv("directory.csv")
# 组合索引
directory_2 = directory.loc[directory.index[0:1000], ["Longitude","City","State/Province","Country"]]
directory_2.head()
以上代码运行结果:
步骤2:绘制箱形图
传入x名称,y名称,以及数据data,设置饱和度saturation=0.9,绘制图像。
sns.boxplot("Country", "Longitude", data=directory_2,saturation=0.9)
以上代码运行结果如下图所示:
2.小提琴图
- 小提琴图(Voilin Plot)用于显示数据分布及其概率密度。
- 这种图表结合了箱形图和密度图的特征,主要用来显示数据的分布形状。
- 中间的黑色粗条表示四分位数范围,从其延伸的细黑线代表95%置信区间,而白点则为中位数。
- 箱形图在数据显示方面受到限制,简单的设计往往隐藏了有关数据分布的重要细节。例如:使用箱形图时,我们不能了解数据分布。虽然小提琴图可以显示更多详情,但它们也可能包含较多干扰信息。
2.1 绘制小提琴图
seaborn中用于绘制小提琴图的函数为violinplot(),具体语法如下所示:
seaborn.violinplot(x=None, y=None, hue=None, data=None)
- x:x轴名称
- y:y轴名称
- data:要传入的数据
2.2 代码演示
步骤1:读取数据
读取csv文件中前1000-2000样本数据,并且指定读取四列:Longitude,City,State/Province,Country。
import pandas as pd
import numpy as np
import seaborn as sns
# 3. 类别内数据分布
directory = pd.read_csv("directory.csv")
# 组合索引
directory_3 = directory.loc[directory.index[1000:2000], ["Longitude","City","State/Province","Country"]]
directory_3.head()
步骤1运行结果:
步骤2:绘制小提琴图
sns.violinplot("Country", "Longitude", data=directory_3)
步骤2运行结果: