1 只是简单的添加图例,直接加就好了
fig, ax = plt.subplots(2,4, figsize=(14, 8))
ax[row, col].plot(x[0:33], y[0:33], color = "k", label = "Historical") #自己画,要有label
ax[row,col].axvline(2050, color='k', line, lw = 1) #这里没有label,就不会在图例显示
# 设置图例
font={"size":35}
ax[row, col].legend(bbox_to_anchor=(-2.1, 5.2), #图例框中心点位置
loc=6, #相对于图例框中心点,图例框的位置
handletextpad = 0, #色块与对应名称之间的空隙
handleheight = 1, #每个色块的宽度
labelspacing = 0.2, #个条目之间的距离
frameon = False, #石头绘制图例边框
ncol = 3,
columnspacing = 2,
prop=font,
markerscale =3, #设置marker的大小
)
2 如果想额外的添加点儿东西到图例里面可以这样
fig, ax = plt.subplots(2,4, figsize=(14, 8))
ax[row, col].plot(x[0:33], y[0:33], color = "k", label = "Historical") #自己画,要有label
ax[row,col].axvline(2050, color='k', line, lw = 1) #这里没有label,就不会在图例显示
import matplotlib.patches as mpatches
handles, labels = ax.get_legend_handles_labels() #已经换好了一个ax
patch = mpatches.Patch(color='red', label='The red data') #随便画一个别的色块之类的
handles.append(patch) #把色块加入到handles中
plt.legend(handles=handles, loc='upper center') #第一步的图例设置就好了



