我绘制了这个配对图,只将一个特征与所有其他特征相关联,我怎样才能更好地可视化它呢?我需要可视化4列。在配对图的官方文档中,我找不到这个选项。这是df:
下面是代码的一部分:
sns.pairplot(data=dftrain, y_vars=['medv'], x_vars=dftrain.columns[:-1])
情节是这样的:
fd3cxomn1#
pairplot的形状不能改变。但是,如果你将 Dataframe 转换成长格式,你可以创建一个类似的relplot。下面是一些简单的示例代码,从虚拟数据开始:
pairplot
relplot
import matplotlib.pyplot as plt import seaborn as sns import pandas as pd import numpy as np df = pd.DataFrame(np.random.rand(300, 14), columns=[*"abcdefghijklmn"]) df_long = df.melt(id_vars=df.columns[-1], value_vars=df.columns[:-1]) g = sns.relplot(df_long, x=df.columns[-1], y='value', col='variable', col_wrap=4, height=2)
xwbd5t1u2#
您可以使用seaborn.FacetGrid并设定参数col_wrap的值。col_wrap(整数):以此宽度“换行”列变量,以便列方面跨越多行。与行方面不兼容。试试这个:
seaborn.FacetGrid
col_wrap
cols= dftrain.columns[:-1].tolist() g = sns.FacetGrid(pd.DataFrame(cols), col=0, col_wrap=3, sharex=False) for ax, varx in zip(g.axes, cols): sns.scatterplot(data=dftrain, x=varx, y="medv", ax=ax) g.tight_layout()
2条答案
按热度按时间fd3cxomn1#
pairplot
的形状不能改变。但是,如果你将 Dataframe 转换成长格式,你可以创建一个类似的relplot
。下面是一些简单的示例代码,从虚拟数据开始:
xwbd5t1u2#
您可以使用
seaborn.FacetGrid
并设定参数col_wrap
的值。col_wrap(整数):以此宽度“换行”列变量,以便列方面跨越多行。与行方面不兼容。
试试这个:
#输出: