我有一個非常簡單的問題。我需要在繪圖上有第二個x軸,并且我希望該軸具有一定數量的tic,它們對應于第一個x軸的特定位置。讓我們嘗試一個例子。在這里,我將暗物質質量繪制為膨脹系數(定義為1 /(1 + z))的函數,該膨脹系數的范圍為0到1。semilogy(1/(1+z),mass_acc_massive,'-',label='DM')xlim(0,1)ylim(1e8,5e12)我想在圖的頂部放置另一個x軸,以顯示對應于某些膨脹系數值的z。那可能嗎?如果是的話,我怎樣才能擁有Xtics斧頭
3 回答

拉風的咖菲貓
TA貢獻1995條經驗 獲得超2個贊
如果您希望上軸是下軸刻度值的函數:
import matplotlib.pyplot as plt
fig, ax1 = plt.subplots()
ax1 = fig.add_subplot(111)
ax1.plot(range(5), range(5))
ax1.grid(True)
ax2 = ax1.twiny()
ax1Xs = ax1.get_xticks()
ax2Xs = []
for X in ax1Xs:
ax2Xs.append(X * 2)
ax2.set_xticks(ax1Xs)
ax2.set_xbound(ax1.get_xbound())
ax2.set_xticklabels(ax2Xs)
title = ax1.set_title("Upper x-axis ticks are lower x-axis ticks doubled!")
title.set_y(1.1)
fig.subplots_adjust(top=0.85)
fig.savefig("1.png")
給出:
添加回答
舉報
0/150
提交
取消