为何指定surv_status为hue后,pairplot仍将其视为变量?
为什么Seaborn Pairplot会把hue变量当作独立变量展示?
这个问题其实挺常见的,我来给你拆解下原因和解决办法:
首先,Seaborn的pairplot()函数默认行为是包含数据集中所有的数值型变量,生成它们之间两两组合的散点图(或直方图)。你把surv_status设为hue参数,只是告诉函数用这个变量的值来给数据点上色做区分,但并不会自动把它从要生成子图的变量列表里移除——它依然会被当作一个普通的数值型变量来处理,所以就会出现在坐标轴上了。
要解决这个问题很简单,你可以通过vars参数明确指定想要用来生成pairplot的变量,把surv_status排除在外就行。修改后的代码如下:
sns.set_style("whitegrid"); # 只指定age、op_year、axil_nodes三个变量生成两两组合图 sns.pairplot(haberman, hue="surv_status", height=2, vars=['age', 'op_year', 'axil_nodes']); plt.show()
这样设置后,pairplot就只会展示这三个变量之间的两两关系,surv_status就只承担颜色区分的作用,不会再出现在坐标轴上啦。
内容的提问来源于stack exchange,提问作者Gupta
相关产品推荐
相关产品推荐

