Pyplot: Как добавить вторую ось X, которая соответствует значениям Y от первой оси X? - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть 3 массива данных равной длины, представляющих физические величины: дробный радиус (r / R), дробную массу (m / M) и некоторый физический параметр (p).

r/R   m/M   P

r1    m1    p1
r2    m2    p2
.     .     .
.     .     .

r / R и m / M не имеют функциональных отношений.

Я хочу построить P против r / R, но на второй оси x есть галочки сзначения m / M, которые соответствуют тем же значениям P.

Я пытался использовать twiny ():

ax.plot(r/r0, P, c='blue')
ax2 = ax.twiny()
ax2.plot(m/m0, P,c='red')

, но в результате тики со значениями m / Mсоответствуют разным значениям P (прикрепленное размытое изображение)

Как выровнять тики по обеим осям x, но чтобы значения m / M соответствовали тем же значениям P, нанесенным для r / R?

enter image description here

1 Ответ

0 голосов
/ 03 марта 2019

Если между r/R и m/M нет взаимосвязи, вы можете определить новый набор тиков, а затем назначить метки тиков вручную.

new_tick_locations = np.array([0, .2, 1])
ax2.set_xticks(new_tick_locations)
ax2.set_xticklabels(('m1', 'm2', ...))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...