目录
seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得绘图更容易、更美。本章首先讲解如何使用seaborn样式和分布图,并介绍如何使用seaborn绘制分类如;然后介绍回归图的绘制和网格计数。
7.1样式与分布图
7.1.1Seaborn样式
seaborn中有预先设计好的5中主题样式:datkgrid、dark、whitegrid、white和ticks,默认使用darkgrid主题样式。首先使用matplotlib库进行绘图,如下图是matplotlib的默认样式。
通过set_style方法可以进行主题样式的设置,这里使用darkgrid主题,与matplotlib的默认样式进行对比。如下图,可以看出途中增加了灰白色的背景和网格线。而使用dark主题就不会有网格线。
注:其他样式大家可以自行测试
在seaborn中,set方法更为常用,因为其可以同时设置主题,调色板等多个样式。style参数为主题设置,palette参数用于设置调色板,当设置不同的调色板时,使用的图表颜色也不同,color_codes参数设置颜色代码,设置过后,可以使用r、g来设置颜色,如下图
7.1.2坐标轴移除
在seaborn主题中,white和ticks主题都会存在4个坐标。在matplotlib中式无法去掉多余的顶部和右侧坐标轴的,而在seaborn中可以使用despine方法轻松的去除,如下图
使用despine方法可以对坐标轴进行变化,设置offset参数可以使坐标轴偏移,trim参数可修剪刻度,如下图
当然也可以指定移除哪些坐标轴,如下图
7.1.3单变量分布图
在接下来,seaborn中,使用seaborn中自带的小费数据集,首先将其读入Dataframe中,
说明:小费数据集中,total_bill为小费总金额,tip为小费,sex为顾客性别,smoker为顾客是否吸烟,day为消费的日期,time为聚餐的时间段,size为聚餐人数。
对于单变量分布图的绘制,在seaborn中使用displot函数。默认情况下会绘制一个直方图,并嵌套一个与之对应的密度图。这里绘制total_bill的分布图,如下图
利用displot方法绘制的直方图与matplotlib是类似的。在displot的参数中,可以选择不会只密度图,这里使用rug参数绘制毛毯图,其可以为每个观测值绘制小细线(边际毛毯),也可以单独用rugplot进行绘制。如下图
在matplotlib中,可以通过bins参数来设置分段。在displot方法中也是可以同样的设置方法,如下图