我正在尝试将多个子图绘制到一个窗口上。子图位于单个框架中,但还会打开多个其他窗口以显示图的数量(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