相关疑难解决方法(0)

Seaborn Factorplot在实际图块下方生成额外的空图

所有,

我正在尝试使用subplots函数和Seaborn库来绘制两个Factorplots 。我可以使用下面的代码分别绘制两个图。但是,seaborn正在实际图下方生成额外的图(请参见下图)。有没有一种方法可以避免seaborn生成多余的空图?我试图plt.close摆脱地块,但不幸的是,它只是关闭了1个地块。此外,我试图将图例移出地块并在地块旁边显示图例。有没有简单的方法可以做到这一点。我尝试legend_out使用seaborn包装提供的产品,但是没有用。

我的代码:

f,axes=plt.subplots(1,2,figsize=(8,4))

sns.factorplot(x="borough", y="pickups", hue="borough", kind='bar', data=n, size=4, aspect=2,ax=axes[0])

sns.factorplot(x="borough", y="pickups", hue="borough", kind='bar', data=low_pickups, size=4, aspect=2,ax=axes[1])
plt.close(2)
plt.show()
Run Code Online (Sandbox Code Playgroud)

以上代码的输出:

在此处输入图片说明

注意:我是python的新手,请在您的代码中提供解释。

数据帧的输出

#n dataframe
{'borough': {0: 'Bronx', 1: 'Brooklyn', 2: 'EWR', 3: 'Manhattan', 4: 'Queens', 5: 'Staten Island', 6: 'Unknown'}, 'pickups': {0: 50.66705042597283, 1: 534.4312687082662, 2: 0.02417683628827999, 3: 2387.253281142068, 4: 309.35482385447847, 5: 1.6018880957863229, 6: 2.0571804140650674}}
#low_pickups dataframe
{'borough': {2: 'EWR', 5: 'Staten Island', 6: 'Unknown'}, 'pickups': …
Run Code Online (Sandbox Code Playgroud)

python plot visualization matplotlib seaborn

10
推荐指数
1
解决办法
2059
查看次数

seaborn 未在定义的子图中绘制

我正在尝试使用此代码并排绘制两个分布图

fig,(ax1,ax2) = plt.subplots(1,2)

sns.displot(x =X_train['Age'], hue=y_train, ax=ax1)
sns.displot(x =X_train['Fare'], hue=y_train, ax=ax2)
Run Code Online (Sandbox Code Playgroud)

它返回以下结果(两个空的子图,后跟一个分布在两行上的图)-

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

如果我用 violinplot 尝试相同的代码,它会按预期返回结果

fig,(ax1,ax2) = plt.subplots(1,2)

sns.violinplot(y_train, X_train['Age'], ax=ax1)
sns.violinplot(y_train, X_train['Fare'], ax=ax2)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

为什么 displot 返回不同类型的输出,我该怎么做才能在同一行上输出两个图?

python data-visualization seaborn

10
推荐指数
1
解决办法
5567
查看次数