我有一个非常简单的问题。我需要在我的图上有第二个x轴,我希望这个轴有一定数量的TIC,对应于第一个轴的特定位置
让我们举个例子试试。在这里,我绘制了暗物质质量作为膨胀因子的函数,定义为1/(1+z),范围从0到1
符号学(1/(1+z),质量(mass)\u acc\u massible,'-',label='DM')
xlim(0,1)
ylim(1e8,5e12)
我想在我的图的顶部有另一个x轴,显示一些扩展因子值对应的z。可能吗?如果是,我如何使用xtics ax
我从@Dhara的答案中的评论中得到了一个提示,听起来你想通过一个从旧x轴到新x轴的函数来设置一个new_tick_位置的列表。下面的tick_函数接收点的numpy数组,将它们映射到新值并格式化:
将numpy导入为np
将matplotlib.pyplot作为plt导入
图=plt.图()
ax1=图add_子批次(111)
ax2=ax1.twny()
X=np.linspace(0,11000)
Y=np.cos(X*20)
ax1.绘图(X,Y)
ax1.设置标签(r“原始x轴:$x$”)
new_tick_locations=np.数组([.2、.5、.9])
def勾选功能(X):
V=1/(1+X)
返回[“%.3f”%z表示V中的z]
ax2.set_xlim(ax1.get_xlim())
ax2.设置标记(新标记位置)
ax2.设置标签(勾选功能(新勾选位置))
ax2.set_xlabel(r“修改的x轴:$1/(1+x)$”)
plt.show()