我有一个非常简单的问题。我需要在绘图上有第二个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
提交
取消