你可以通过添加以下行轻松添加第二个图例:
ax2.legend(loc=0)
你将获得:
但是,如果要将所有标签都放在一个图例上,则应执行以下操作:
import numpy as npimport matplotlib.pyplot as pltfrom matplotlib import rcrc('mathtext', default='regular')time = np.arange(10)temp = np.random.random(10)*30Swdown = np.random.random(10)*100-10Rn = np.random.random(10)*100-10fig = plt.figure()ax = fig.add_subplot(111)lns1 = ax.plot(time, Swdown, '-', label = 'Swdown')lns2 = ax.plot(time, Rn, '-', label = 'Rn')ax2 = ax.twinx()lns3 = ax2.plot(time, temp, '-r', label = 'temp')# added these three lineslns = lns1+lns2+lns3labs = [l.get_label() for l in lns]ax.legend(lns, labs, loc=0)ax.grid()ax.set_xlabel("Time (h)")ax.set_ylabel(r"Radiation ($MJ,m^{-2},d^{-1}$)")ax2.set_ylabel(r"Temperature ($^circ$C)")ax2.set_ylim(0, 35)ax.set_ylim(-20,100)plt.show()


