From: magnus_p <magnusp@sn...>  20100630 09:41:08

I am trying to plot a spectrum, with lower x axis = velocity, on the upper = frequency The relationship between them (doppler formula) is f = (1v/c)*f_0 where f is the resulting frequency, v the velocity, c the speed of light, and f_0 the frequency at v=0, ie. the v_lsr. I have tried to solve it by looking at http://matplotlib.sourceforge.net/examples/axes_grid/parasite_simple2.html http://matplotlib.sourceforge.net/examples/axes_grid/parasite_simple2.html , where it is solved by 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") well, my problem is that it is not a simple scaling law, but a linear function. Anyone know how to solve this? Magnus  View this message in context: http://old.nabble.com/Twinyandaffinetransformforxlimtp29032627p29032627.html Sent from the matplotlib  users mailing list archive at Nabble.com. 