matplotlib库可以提供丰富的绘图样式,但是同时也带来一个问题,即多种函数及其参数带来了过多的细节,导致绘图复杂。在matplotlib库的基础上,seaborn库提供了更高层次的接口,具有更加强大的绘图功能,简化了绘图的流程。通常,它要求输入的数据类型为pandas库中的dataFrame或者numPy模块中的数组。在使用seabom库之前,通过以下命令安装:
二维码5-4 seaborn库常用函数
seaborn库常用函数如表5-8所示。
表5-8 seaborn库常用函数
续表
seaborn库首先带来了主题上的变化,其默认主题是黑色网格底色(darkgrid)主题,网格可以帮助定位图数据的定量化信息。seaborn库提供的“set_style()”函数可以指定使用的主题。另外,“set()”函数也可以对绘制图像进行设置,如背景、调色板等,如果不加参数,则表示设置成默认值。如果使用“set()”函数设置图像的主题,则需要使用“style” 参数,具体形式为:set(style=“white”)。图5-30所示为seaborn库的默认主题所绘图形,其实现代码如下:
图5-30 seaborn库默认主题所绘图形
在“white”和“ticks”主题下,可以使用“despine()”函数将图形的上方和右方的边框隐藏,如图5-31所示。
图5-31 seaborn库中隐藏边框
使用“set_style()”函数对所绘图形的主题统一做设置,这样后续绘制的图形就会使用相同的主题。为了区分不同图形的风格,可以使用“with”语句。在“with”语句中,“axes_style”函数返回“whitegrid”主题的参数,并且绘制第一幅图形,然而,在第二个“with”语句中,“axes_style”函数返回“darkgrid”主题的参数,并且绘制第二幅图形。由于两个主题仅在各自“with”语句的范围内起作用,因此,可以绘制出不同的主题图形。seaborn库中绘制不同主题图形的效果如图5-32所示,实现代码如下:
除此之外,seaborn库中还可以通过“set_context()”函数设置绘图的比例,通过“color_palette()”函数建立调色板并进行颜色的设置等。
使用“distplot(x,bins,color)”函数可以绘制直方图。其中,参数“x”表示图形来源的数据,参数“bins”表示柱形(Bin)的个数,参数“color”表示图形的颜色。该函数同时绘制核密度估计图。在“tips”数据集中,如果绘制总费用数据“total_bill”的分布规律,使用10个柱形来表示数据,则可以使用如下格式:
图5-32 seaborn库中绘制不同主题图形的效果
seaborn库中的直方图效果如图5-33所示。
(www.xing528.com)
图5-33 seaborn库中的直方图效果
如果需要展示两个变量之间的关系,即分析两个变量的联合概率分布以及其中一个变量的分布,则可以用“jointplot(x,y,data,color)”函数。其中,参数“x”表示横坐标显示的数据,参数“y”表示纵坐标显示的数据,参数“data”表示数据集,参数“color”表示颜色。针对上述例子,如果需要分析消费的总费用和小费之间的关系,则可以采用如下形式:
消费的总费用与小费之间存在着强相关性,如图5-34所示。在联合分布图中,可以通过“kind”指定不同的显示效果,主要包括“hex”“scatter”“resid”“kde”等,分别表示散点图、残差、密度估计等形式显示数据分布,默认是散点图。例如,设置为密度估计形式的方法如下:
图5-34 seaborn库中的联合分布图
条形图可以统计数据集中不同的类别列对应的数值列,通常横坐标表示类别列,纵坐标表示数值列,这样可以对比不同类别数据的数量。seaborn库中条形图的创建函数是“marplot(x,y,data)”。其中,参数“x”表示横坐标要显示的数据列,参数“y”表示纵坐标要显示的数据列,参数“data”用于指定数据集。seaborn库中条形图的创建效果如图5-35所示。
图5-35 seaborn库中的条形图
如果要观察是否吸烟与小费之间的关系,则可以采用以下形式:
箱形图效果如图5-36所示。其中,参数“x”表示横坐标上的类别列,参数“y”表示纵坐标上的数值列,参数“data”表示数据集。
图5-36 seaborn库中的箱形图
如果使用箱形图展示是否吸烟与小费之间的关系,则可以调用以下函数:
小提琴图因为其图形的形状类似“小提琴”而得名,如图5-37所示。图的高矮表示纵坐标值的范围,胖瘦表示数据的分布规律,因此,可将它看成密度图和箱形图的结合。绘制小提琴图的函数是“violinplot()”。同理,是否吸烟与小费之间关系的小提琴图的函数调用如下:
图5-37 seaborn库中的小提琴图
通常,数据集中存在多个特征,在研究特征之间的关系时,单独地绘制两个特征之间的关系相对比较麻烦。seaborn库提供了使用一幅图展示不同特征(变量)两两之间相互关系的成对变量分析图,使用的函数是“pairplot()”,将数据集输入该函数可以绘制出变量之间的成对关系图。针对“tips”数据集,效果如图5-38所示。
图5-38 seaborn库中的成对变量分析图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。