在这种情况下,Pandas子图布局不起作用

时间:2019-04-18 13:43:14

标签: python pandas matplotlib plot seaborn

我正在绘制来自seaborn库的mpg数据集的散点图。我想知道是否有可能在python中绘制奇数个子图?

import pandas as pd
import seaborn as sns
df = sns.load_dataset('mpg')
df.groupby('origin').plot.scatter(x='cylinders',y='mpg',subplots=True,layout=(2,2))

这给出了4,1个图,而不是2,2个图:
enter image description here

是否有一种方法可以获取带有标签名称的美国,欧洲和日本的3个子图 像下面以更简单的方式显示?

这是一个很长的路要走:

import pandas as pd
import seaborn as sns
df = sns.load_dataset('mpg')
g = df.groupby('origin')

fig, axes = plt.subplots(2,2,figsize=(8, 4))
for i, (g_name, g_data) in enumerate(g): # axes.flat also works
    ax = g_data.plot.scatter(x='cylinders', y='mpg', ax=axes.flatten()[i], title=g_name)

plt.tight_layout()
fig.delaxes(axes[1][1])

1 个答案:

答案 0 :(得分:2)

尝试delaxes

fig.delaxes(axes[1][1])