python / matplotlib - escala de eixo duplo do parasita

Tentando traçar um espectro, ou seja, velocidade versus intensidade, com eixo x inferior = velocidade, no eixo gêmeo superior = frequência

A relação entre eles (fórmula doppler) é

f = (1-v/c)*f_0 

onde f é a frequência resultante, v a velocidade, c a velocidade da luz ef_0 a frequência em v = 0, ie. o v_lsr.

Eu tentei resolvê-lo olhando parahttp://matplotlib.sourceforge.net/examples/axes_grid/parasite_simple2.html , onde é resolvido por

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")

meu problema é: como substituo o pm_to_kms pela minha função de frequência?

Alguém sabe como resolver isto?

questionAnswers(2)

yourAnswerToTheQuestion