概述
1. jointplot 两变量图
数据分析中常用做图的方式实现相关性分析,即X轴设置为变量A,Y轴设置为变量B,做散点图,由于散点图中点的叠加显示,往往还需要关注每个变量自身的分布情况,jointplot把描述变量的分布图和变量相关的散点图组合在一起,是相关性分析最常用的工具,图片上还能展示回归曲线,以及相关系数。
import statsmodels.api as sm
import seaborn as sns
sns.set(style="darkgrid")
data = sm.datasets.ccard.load_pandas().data
g = sns.jointplot('AVGEXP', 'AGE', data=data, kind="reg",
xlim=(0, 1000), ylim=(0, 50), color="m")
本例中使用statsmodels库的ccard数据,分析了其中两个数值类型变量的相关性,使用xlim和ylim设置了图片显示范围,忽略了离群点,kind参数可设置做图方式:scatter散点图,kde密度图,hex六边形图等,本例中选择reg画出了线性回归图。
2. pairplot多变量图
如果用对N个变量的相关性做散点图,用maplotlib需要做NxN个图,用pairplot函数调用一次即可实现,其对角线上是直方图,其余都是两两变量的散点图,不仅简单,还能组合在一起作对比。
data = sm.datasets.ccard.load_pandas().data
sns.pairplot(data, vars=['AGE','INCOME', 'INCOMESQ','OWNRENT'])
图中可以看到,数据类型INCOME与INCOMESQ呈强相关,AGE与INCOME也有一定相关趋势,对角线上的图对应的是每个因素与其自身的对比,图中以直方图显示了该变量的分布。
3. factorplot两变量关系图
factorplot用于绘制两维变量的关系图,用kind可指定其作图类型,包括:point, bar, count, box, violin, strip等。
data = sm.datasets.fair.load_pandas().data
sns.factorplot(x='occupation', y='affairs', hue='religious', data=data)
4. FacetGrid结构化绘图网格
FacetGrid可以选择任意的做图方式,以及自定义的做图函数,通常包含两部分,FacetGrid部分指定了数据集,行,列,map部分指定做图方式,以及相应参数。
g = sns.FacetGrid(tips, col = 'time', row = 'smoker') # 按行和列的分类做N个图
g.map(plt.hist, 'total_bill', bins = 10) # 指定做图方式
可以看到无论是连续图,还是分类图,无论是用FacetGrid还是barplot都是将多个特征放在同一张图片上展示,其差别一方面在于观察角度不同,另一方面也取决于数据自身的类型。
最后
以上就是昏睡流沙为你收集整理的Seaborn多图组合的全部内容,希望文章能够帮你解决Seaborn多图组合所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复