我正在绘制开尔文曲线。我想让左边的 yaxis 以开尔文显示单位,右边的 yaxis 以摄氏度显示它们,并且都四舍五入到最接近的整数(所以刻度不对齐,因为 TempK=TempC+273.15)
fig=plt.figure
figure=fig.add_subplot(111)
figure.plot(xpos, tos, color='blue')
我不应该使用twinx()
它,因为它允许叠加具有两个不同比例的曲线,这不是我的情况(只需要更改右轴,而不是曲线)。
我正在绘制开尔文曲线。我想让左边的 yaxis 以开尔文显示单位,右边的 yaxis 以摄氏度显示它们,并且都四舍五入到最接近的整数(所以刻度不对齐,因为 TempK=TempC+273.15)
fig=plt.figure
figure=fig.add_subplot(111)
figure.plot(xpos, tos, color='blue')
我不应该使用twinx()
它,因为它允许叠加具有两个不同比例的曲线,这不是我的情况(只需要更改右轴,而不是曲线)。
我找到了以下解决方案:
fig=plt.figure
figure=fig.add_subplot(111)
figure.plot(xpos, tos, color='blue')
... plot other curves if necessary
... and once all data are plot, one can create a new axis
y1, y2=figure.get_ylim()
x1, x2=figure.get_xlim()
ax2=figure.twinx()
ax2.set_ylim(y1-273.15, y2-273.15)
ax2.set_yticks( range(int(y1-273.15), int(y2-273.15), 2) )
ax2.set_ylabel('Celsius')
ax2.set_xlim(x1, x2)
figure.set_ylabel('Surface Temperature (K)')
不要忘记设置 twinx 轴 xaxis!