Tôi có một âm mưu với hai trục y, sử dụng twinx()
. Tôi cũng đưa nhãn cho các dòng và muốn hiển thị chúng legend()
, nhưng tôi chỉ thành công khi lấy nhãn của một trục trong truyền thuyết:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rc
rc('mathtext', default='regular')
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(time, Swdown, '-', label = 'Swdown')
ax.plot(time, Rn, '-', label = 'Rn')
ax2 = ax.twinx()
ax2.plot(time, temp, '-r', label = 'temp')
ax.legend(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()
Vì vậy, tôi chỉ lấy nhãn của trục thứ nhất trong truyền thuyết, chứ không phải nhãn 'temp' của trục thứ hai. Làm thế nào tôi có thể thêm nhãn thứ ba này vào truyền thuyết?
ax
với phong cách tôi sử dụngax2
: trường hợp của bạn ,ax.plot([], [], '-r', label = 'temp')
. Nó nhanh hơn và đơn giản hơn nhiều so với thực hiện đúng cách ...