提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
Seaborn的安装命令比较简单。
pip3 install seaborn
不过需要注意的是,可能在安装过程中会报错,由于seaborn包依赖于scipy包,所以这里要先装scipy。
这样,安装模块的命令就变成:
pip3 install scipy
pip3 install seaborn
或者加入-U参数,安装Seaborn时同时安装Seaborn的依赖。
pip3 install seaborn -U
由于Seaborn可以兼容pandas数据结构,可以用Pandas读取单车数据,后面继而用Seaborn进行数据分析的展示。
Pandas使用read_csv来读取单车数据,describe()可以查看DataFrame中数据的基本情况参数。如下图所示。
在读取的数据,可以看到的维度有season是季节,yr是年的意义,mnth是月份的意义,holiday是否是假日,weekday指是否是周末,workingday是否是工作时间,weathersit是不同的天气情况,temp是实际温度的情况,atemp是体感温度的情况,hum表示湿度的意思,windspeed是风速的情况等等这些维度信息来说明cnt租车数量情况。
在单车数据中的相关维度中,比较这些维度中相关性是进行降维最重要的参考,数据分析的具体工作离不开降维,Seaborn中heatmap是绘制热力图的方法,可以从热力图的颜色和相关系数值上找到相关系数比较高的维度。相关代码如下。
ss=data.corr()
pyplot.figure(figsize=(15,8))
seaborn.heatmap(ss,cmap=“jet”,annot=True)
这里corr()表示的是相关系数的问题,seaborn.heatmap是热力图的意思。具体格式如下。
seaborn.heatmap(data, vmin=None, vmax=None, cmap=None, center=None, robust=False, annot=None, fmt='.2g', annot_kws=None, linewidths=0, linecolor='white', cbar=True, cbar_kws=None, cbar_ax=None, square=False, xticklabels='auto', yticklabels='auto', mask=None, ax=None, **kwargs)
参数中data是需要显示的数据。使用方法如下。
ax = seaborn.heatmap(data)
参数中的vmax和vmin是显示的数据值的最大和最小的范围
ax = seaborn.heatmap(data,vmin=0, vmax=1)
参数中的cmap是matplotlib颜色表名称或对象,或颜色列表,可选从数据值到色彩空间的映射。如果没有提供,默认设置。如下面的代码。
ax = seaborn.heatmap(data,vmin=0, vmax=1)
其它参数简单说明一下。
center : 指定色彩的中心值
robust : 如果“Ture”和“ vmin或” vmax不存在,则使用强分位数计算颜色映射范围,而不是极值。
annot : 如果为True,则将数据值写入每个单元格中
fmt : 表格里显示数据的类型
annot_kws : 未知:
linewidths : 划分每个单元格的线的宽度。
linecolor : 划分每个单元格的线的颜色。
cbar : 是否绘制颜色条:colorbar,默认绘制
cbar_kws : 未知 cbar_ax : 显示x-y坐标,而不是节点的编号
square : 为‘True’时,整个网格为一个正方形
xticklabels, yticklabels : 可以以字符串进行命名,也可以调节编号的间隔,也可以不显示坐标
本例中,seaborn.heatmap(ss,cmap=“jet”,annot=True)语句是对ss进行绘图,cmap是使用jet类型的显示等高线图的colormap,annot设置为True把相关系数值定入单元格中。
代码执行的结果如下图所示。
从图中结果上显示可以看出,去掉对角线的1,深红色的就是相关性比较高的,图中atemp和temp是0.99,并且深红色,即实际温度和体感温度的相关性比较高。
箱型图其绘制须使用常用的统计量,能提供有关数据位置和分散情况的关键信息,最上面的线叫上边沿,下面的线叫下边沿,中间的箱是由四分位线组成的箱,箱里面的线叫中位线,其主要包含六个数据节点,将一组数据从大到小排列,分别计算出他的上边缘,上四分位数Q3,中位数,下四分位数Q1,下边缘,还可能有一个异常值。
Seaborn中使用boxplot进行箱型图的绘制,具体指令和执行效果如下图所示。
图中所示的效果就是一个箱型图,具体的标注解释如下图所示。
小提琴图 (Violin Plot)是用来展示多组数据的分布状态以及概率密度。这种图表结合了箱形图和密度图的相关特征,主要用来显示数据的整体分布形状。跟箱形图类似,但是在密度层面展示更好。
Seaborn使用violinplot来绘制小提琴图,具体指令和执行效果如下图所示。
图中所示的小提琴图概念解释如下图所示。
条形图表示数值变量与每个矩形高度的中心趋势的估计值,并使用误差线提供关于该估计值附近的不确定性的一些指示。
Seaborn使用barplot绘制条形图,具体指令和执行效果如下图所示。
分簇散点图 可以理解为数据点不重叠的分类散点图
Seaborn使用swarmplot可以自己实现对数据分类的展现,也可以作为盒形图或小提琴图的一种补充,用来显示所有结果以及基本分布情况。具体指令和执行效果如下图所示。
从画图的很多效果上看,Seaborn可以为数据分析带来异常的直观感,也可以通过小提琴图展示数据的密度,是matplotlib画图的一个很好的补充。
代码的github地址:https://github.com/wawacode/seaborn_drawing_pictures