【问题标题】:Pandas subplot layout not working in this casePandas 子图布局在这种情况下不起作用
【发布时间】:2019-04-18 13:43:14
【问题描述】:

我正在绘制 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 个图:

有没有办法为美国、欧洲和日本获得 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])

【问题讨论】:

标签: python pandas matplotlib plot seaborn


【解决方案1】:

试试delaxes:

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

【讨论】:

    猜你喜欢
    • 2012-03-22
    • 1970-01-01
    • 2021-11-15
    • 2012-07-26
    • 2017-11-26
    • 2010-12-29
    • 1970-01-01
    • 2021-08-05
    • 2011-11-14
    相关资源
    最近更新 更多