首页 > 解决方案 > 如何使用for循环在python中创建多个子图?

问题描述

如何使用 python 循环为 2004 年到 2015 年的每一年生成单独的图?

目前我每年都在重复代码,它太乏味了

plt.figure(figsize=(30,15), dpi= 80)
calmap.yearplot(df_raw1['2004']['TEU'], cmap='YlGn', fillcolor='grey',
                linewidth=0) # Plot for year 2004

plt.figure(figsize=(30,15), dpi= 80)
calmap.yearplot(df_raw1['2005']['TEU'], cmap='YlGn', fillcolor='grey',
                linewidth=0) # Plot for year 2005

plt.figure(figsize=(30,15), dpi= 80)
calmap.yearplot(df_raw1['2005']['TEU'], cmap='YlGn', fillcolor='grey',
                linewidth=0) # Plot for year 2006

plt.figure(figsize=(30,15), dpi= 80)
calmap.yearplot(df_raw1['2007']['TEU'], cmap='YlGn', fillcolor='grey',
                linewidth=0) # Plot for year 2007

plt.show()

标签: python-3.xjupyter-notebook

解决方案


years = ['2004', '2005', '2006', '2007', '2008', '2009','2010', '2011', '2012', '2013', '2014', '2015']

for i in range(len(years)):
    plt.figure(figsize=(30,15), dpi= 80)
    calmap.yearplot(df_raw1[years[i]]['TEU'], cmap='YlGn', fillcolor='grey', linewidth=0) 

plt.show()

推荐阅读