我试图在不同的y轴上绘制两个数据集(分别称为Height
和Temperature
)。
两个数据集的长度相同。
两个数据集通过第三数据集RH
链接在一起。
我曾尝试使用matplotlib通过twiny()
绘制数据,但是我正在努力将两个数据集在同一图上对齐。
这是我要对齐的图。
图中的水平黑线定义为从Height
找到的0°C度线,用于测试绘制时两个数据集是否对齐。他们不。黑线与Temperature
的0°C滴答之间存在明显的差异。
我希望不是将两个y轴彼此独立地改变,而是将Height
和Temperature
中的每个索引绘制在图中相同的y位置。
这是我用来创建情节的代码:
#Define number of subplots sharing y axis
f, ax1 = plt.subplots()
ax1.minorticks_on()
ax1.grid(which='major',axis='both',c='grey')
#Set axis parameters
ax1.set_ylabel('Height $(km)$')
ax1.set_ylim([np.nanmin(Height), np.nanmax(Height)])
#Plot RH
ax1.plot(RH, Height, label='Original', lw=0.5)
ax1.set_xlabel('RH $(\%)$')
ax2 = ax1.twinx()
ax2.plot(RH, Temperature, label='Original', lw=0.5, c='black')
ax2.set_ylabel('Temperature ($^\circ$C)')
ax2.set_ylim([np.nanmin(Temperature), np.nanmax(Temperature)])
任何对此的帮助将是惊人的。谢谢。
答案 0 :(得分:1)
也许气氛错了。 :)
听起来您正在尝试将两个y轴对齐为特定值。你为什么做这个?高度与温度之间的关系是非线性的,因此,我认为您正在为混淆的图表做好准备。您绘制的任何特定线只能针对一个垂直轴进行解释。
如果需要,我认为您将被迫在y轴的范围内“做一些数学运算”。该链接可能会有所帮助: