Tôi đã làm điều này như thế này:
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
Tôi cũng nhớ bắt đầu với dịch chuyển đỏ mà dụ ;-)
Tôi nghĩ rằng điều SubPlotHost
là cần thiết, nhưng Tôi không chắc chắn 100%, kể từ khi tôi tách nó ra khỏi một cốt truyện hiện có (phụ) của tôi mà không kiểm tra xem nó có chạy độc đáo không.
Chỉnh sửa: cũng có, xem https://stackoverflow.com/a/10517481/599884
Tôi đã làm, nhưng không thể đăng bài vì tôi thiếu danh tiếng. –
Tôi đã không nhận được điểm của chức năng này. Dường như hai trục x vẫn tuyến tính với nhau. – Fxyang
Tôi đoán tôi giả định bởi phi tuyến tính bạn có nghĩa là lôgarit. xticks sẽ đặt dấu tùy ý, xticklabels có thể gắn nhãn chúng. Hy vọng rằng sẽ giúp. –