我想在一个“框架”下合并所有三个Seaborn散点图。
plt.figure(figsize=(7,15))
plt.subplots(3,1)
sns.scatterplot(x=train['Garage Area'], y=train['SalePrice'])
plt.show()
sns.scatterplot(x=train['Gr Liv Area'], y=train['SalePrice'])
plt.show()
sns.scatterplot(x=train['Overall Cond'], y=train['SalePrice'])
plt.show()
但是它创建了5个,根据(7,15)的大小,前3个很小,但是后2个不同。
我怀疑应该是
plt.figure(figsize=(7,15))
fig,ax = plt.subplots(3,1)
ax[0] = fig.add_subplot(sns.scatterplot(x=train['Garage Area'], y=train['SalePrice']))
#plt.show()
ax[1] = fig.add_subplot(sns.scatterplot(x=train['Gr Liv Area'], y=train['SalePrice']))
#plt.show()
ax[2] =fig.add_subplot(sns.scatterplot(x=train['Overall Cond'], y=train['SalePrice']))
plt.show()
但是所有3个图都卡在最后一个第3个图表中!
答案 0 :(得分:1)
以下是一种实现方法:
ax[0]
将ax[1]
,ax[2]
和sns.scatterplot
的相应子图传递给三个单独的ax
命令fig, ax = plt.subplots(3, 1, figsize=(7,15))
sns.scatterplot(x=train['Garage Area'], y=train['SalePrice'], ax=ax[0])
sns.scatterplot(x=train['Gr Liv Area'], y=train['SalePrice'], ax=ax[1])
sns.scatterplot(x=train['Overall Cond'], y=train['SalePrice'], ax=ax[2])
plt.show()