【发布时间】:2015-09-18 23:47:49
【问题描述】:
我正在尝试绘制单个时间序列,但想在左右轴上以两个单位表示它。这是我到目前为止所做的。
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')
通过调整 ylim(),我可以让它看起来像一行,但可以看到一些混叠。如果我不必将数据绘制两次,我会更喜欢。
有什么建议吗?
更新:谢谢,askewchan,提供完美的解决方案!
【问题讨论】:
-
你能把你的整个脚本包括进来吗?
标签: python matplotlib plot