Python如何在同一图表中批量绘制1990-2012年tasmax_emn温度序列?
你可以通过for循环遍历1990~2012年的所有年份,批量执行绘图逻辑,无需手动重复写代码,修改后代码如下:
import matplotlib.pyplot as plt # 初始化画布和坐标轴 fig1 = plt.figure(figsize=(15, 15), dpi=200) ax1 = fig1.add_subplot(1, 1, 1) # 遍历1990到2012的所有年份:range左闭右开,所以结束值写2013才能包含2012年 for year in range(1990, 2013): # 先把数据存到临时变量,避免重复调用两次tasmax_emn函数,提升效率 tas_data = tasmax_emn(year) ax1.plot(tas_data.time, tas_data, label=str(year), linewidth=0.5) # 统一设置图表样式 ax1.title.set_text('Tasmax ensemble mean') ax1.set_xlabel('Date') ax1.set_ylabel('Temperature (degrees C)') ax1.legend() plt.grid(True) plt.show()
你可以根据需求调整以下细节:
- 如果需要所有年份曲线都用黑色,在
plot方法的参数里加回color='k'即可,默认自动分配不同颜色更方便区分不同年份的曲线 - 如果23个年份的图例遮挡曲线,可以把
ax1.legend()修改为ax1.legend(bbox_to_anchor=(1.01, 1), loc='upper left'),将图例放在画布外侧
内容的提问来源于stack exchange,提问作者rvckon
相关产品推荐
相关产品推荐

