如何在Matplotlib中添加第二个X轴

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


HUWWW
浏览 1697回答 3
3回答

拉风的咖菲猫

如果您希望上轴是下轴刻度值的函数:import matplotlib.pyplot as pltfig, 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")给出:
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python