Tôi đang cố vẽ một chuỗi thời gian đơn, nhưng muốn biểu diễn nó theo hai đơn vị trên trục trái và phải. Đây là những gì tôi đã làm cho đến nay.Vẽ dữ liệu đơn với hai trục Y (hai đơn vị) trong matplotlib
fig, ax1 = plt.subplots()
t = np.arange(1,50,1)
s1 = np.sin(t)*20000+40000 #synthetic ts, but closer to my data
ax1.plot(t, s1, 'b-')
ax1.set_xlabel('time')
ax1.set_ylim(20000,70000)
ax1.set_ylabel('km3/year')
km3yearToSv=31.6887646*(1/1e6)
ax2 = ax1.twinx()
s2 = s1*km3yearToSv
ax2.plot(t, s2, 'b-')
ax2.set_ylim(20000*km3yearToSv,70000*km3yearToSv)
ax2.set_ylabel('Sv')
Bằng cách điều chỉnh ylim(), tôi có thể làm cho nó có vẻ như là một đường duy nhất, nhưng một số răng cưa có thể được nhìn thấy. Tôi thích nếu tôi không phải vẽ dữ liệu hai lần.
Mọi đề xuất?
CẬP NHẬT: Cảm ơn, askewchan, vì giải pháp hoàn hảo!
Bạn có thể đưa toàn bộ tập lệnh của mình không? – Leb