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 моей функцией для частоты?
Кто-нибудь знает, как это решить?