plt.subplots()在循环外打开多个窗口

时间:2018-10-26 16:48:15

标签: python matplotlib seaborn

我正在尝试将多个子图绘制到一个窗口上。子图位于单个框架中,但还会打开多个其他窗口以显示图的数量(3)。

frames = view_specific_year_by_month(df, 2016)
#plt.figure(figsize=[20,7])
f, ax = plt.subplots(1, len(frames), figsize=[20, 7])
for i in range(len(frames)):
    (sns.FacetGrid(frames[i][frames[i]['Item'].isin(frames[i]['Item'].value_counts().index.values)], hue='Item', height=5,     aspect=2).map(sns.kdeplot, 'Time', shade=True,ax=ax[i]).add_legend())
plt.show()

在另一篇文章中,个人将plt.show()放在一个循环内,在这种情况下,它在外面。

plt.show()


def view_specific_year_by_month(dataframe, year):
    df = dataframe.filter(['Item', 'Time', 'weekday', 'day', 'month', 'year'], axis=1)
    df = df[(df['year'] == year)]
    frames = []
    for i in range(1, 13):
        tmp = (df[(df['month'] == i) & ((df['Item'].str.contains("Sandwich")) | (df['Item'].str.contains("Coffee")) | (df['Item'].str.contains("Bread")))])
        if not tmp.empty:
            frames.append(tmp)
    return frames

Image depicting what loop/plt.show()  returns

0 个答案:

没有答案