我正在尝试绘制单个时间序列,但想要在左右轴上以两个单位表示它.这是我到目前为止所做的.
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')
Run Code Online (Sandbox Code Playgroud)
通过调整ylim(),我可以将它看作单行,但可以看到一些别名.如果我不必两次绘制数据,我更愿意.
有什么建议?
更新:谢谢,askewchan,完美的解决方案!
我一直在使用函数将datetime对象转换为十进制年,基于这篇文章 python如何将datetime日期转换为十进制年, 但我无法找到任何显示逆的日期:十进制年到datetime对象.在这方面的任何帮助表示赞赏.
谢谢,