为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

HUWWW 2019-11-26 13:11:22
我有一个非常简单的问题。我需要在绘图上有第二个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")

给出:


查看完整回答
反对 回复 2019-11-26
  • 3 回答
  • 0 关注
  • 1630 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信