Построить два набора данных в одной позиции на основе их индекса - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь построить два набора данных (называемые Height и Temperature) на разных осях Y.

Оба набора данных имеют одинаковую длину.

Оба набора данных связаны друг с другом третьим набором данных, RH.

Я пытался использовать matplotlib для построения графика данных, используя twiny(), но я изо всех сил пытаюсь совместить оба набора данных на одном графике.

Вот график, который я хочу выровнять.

enter image description here

Горизонтальная черная линия на рисунке определяется как 0 ° CЛиния градусов, которая была найдена из Height и использовалась для проверки того, будут ли выровнены оба набора данных при построении графика.Они не.Существует заметная разница между черной линией и отметкой 0 ° C от Temperature.

Вместо того, чтобы две оси y изменялись независимо друг от друга, я хотел бы построить каждый индекс из Height и Temperature в той же позиции у на участке.

Вот код, который я использовал для создания сюжета:

#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)])

Любая помощь в этом была бы удивительной.Спасибо.

1 Ответ

0 голосов
/ 14 декабря 2018

Может быть, атмосфера неправильная.:)

Звучит так, будто вы пытаетесь выровнять две оси y по определенным значениям.Почему вы это делаете?Соотношение высоты и температуры нелинейно, поэтому я думаю, что вы готовите почву для запутанного графика.Любая конкретная линия, которую вы строите, может быть интерпретирована только против одной вертикальной оси.

При необходимости, я думаю, вы будете вынуждены "сделать некоторую математику" на границах осей y.Эта ссылка может быть полезна:

выравнивание шкал

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...