python / matplotlib - паразитное масштабирование по двум осям

Попытка построить спектр, то есть скорость в зависимости от интенсивности, с нижней осью х = скорость, на верхней двойной оси = частота

Соотношение между ними (доплеровская формула)

f = (1-v/c)*f_0 

где f - результирующая частота, v - скорость, c - скорость света, а f_0 - частота при v = 0, т.е. v_lsr.

Я пытался решить это, глядя наhttp://matplotlib.sourceforge.net/examples/axes_grid/parasite_simple2.html где это решается

pm_to_kms = 1./206265.*2300*3.085e18/3.15e7/1.e5
aux_trans = matplotlib.transforms.Affine2D().scale(pm_to_kms, 1.)
ax_pm = ax_kms.twin(aux_trans)
ax_pm.set_viewlim_mode("transform")

моя проблема, как я могу заменить pm_to_kms моей функцией для частоты?

Кто-нибудь знает, как это решить?

Ответы на вопрос(2)

Ваш ответ на вопрос