Zrobiłem to tak:
from mpl_toolkits.axes_grid.parasite_axes import SubplotHost
fig = plt.figure(1, figsize=(figwidth,figheight))
ax = SubplotHost(fig, 1,1,1)
fig.add_subplot(ax)
#plotting as usual
ax2 = ax.twin() # ax2 is responsible for "top" axis and "right" axis
ax2.axis["right"].toggle(ticklabels=False)
ax2.xaxis.set_major_formatter(FuncFormatter(fmt_zToEta)) #set eta coord format
#with a function for the Z to eta transform for plot labels
def fmt_zToEta(x, pos=None):
#...
return transformed_label
Pamiętam też ruszania z tego przykładu przesunięcia ku czerwieni ;-)
Myślę SubPlotHost
rzeczą jest to konieczne, ale Nie jestem w 100% pewny, odkąd wyrwałem to z istniejącej (pod) działki bez sprawdzenia, czy działa ona ładnie bez.
Edycja: również zobaczyć https://stackoverflow.com/a/10517481/599884
zrobiłem, ale nie był w stanie odpowiedzieć na działkę jak brakuje mi reputację. –
Nie widziałem sensu tej funkcji. Wydaje się, że dwie osie x są nadal liniowe względem siebie. – Fxyang
Chyba założyłem, że nieliniowo oznacza logarytmiczny. xticks umieści dowolne tiki, xticklabels może je oznaczyć. Nadzieja, która pomaga. –