使用seaborn pairp绘制子地块

2024-09-29 23:30:13 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我用下面的代码绘制绘图,它就可以工作了,我可以在一行中看到所有的子图。我可以具体地把col的数量分成三到两个并展示给他们看。但是我有30列,我想使用一个循环机制,这样它们就可以在一个4x4子图的网格中绘制

regressionCols = ['col_a', 'col_b', 'col_c', 'col_d', 'col_e']
sns.pairplot(numerical_df, x_vars=regressionCols, y_vars='price',height=4, aspect=1, kind='scatter')
plt.show() 

下面是使用循环的代码。但是,我没有看到任何渲染。在

^{pr2}$

不知道我错过了什么。在


Tags: 代码网格绘图df数量绘制numericalcol
1条回答
网友
1楼 · 发布于 2024-09-29 23:30:13

我想你没有把矩阵图中的每个子图空间连接到循环中生成的散点图。在

也许这一解决方案适合你: 例如

1.让我们简单地定义一个空的pandas数据帧。在

numerical_df = pd.DataFrame([])

2。根据它们创建一些随机特性和价格:

^{pr2}$

3。定义行数和列数。创建一个包含nr_rows和nr_cols的子批次空间。在

^{3}$

4。列举dataframe中的每个特性,并用价格绘制散点图:

for idx, feature in enumerate(numerical_df.columns[:-1]):

    numerical_df.plot(feature, "price", subplots=True,kind="scatter",ax=axes[idx // 4,idx % 4])

其中axes[idx // 4, idx % 4]定义了在(3)中创建的矩阵中每个散点图的位置

我们得到了一个矩阵图:

Scatterplot matrix

相关问题 更多 >

    热门问题