多个x轴,彼此非线性

Fxy*_*ang 5 python matplotlib

我试图用matplotlib绘制一个两个x轴的图形,它们彼此是非线性的.我想得到的情节是这样的:

情节

基本上,年龄取决于红移.它是非线性的,需要进行计算.我想把年龄和红移作为x轴.我该怎么做?

Kyl*_*own 4

该功能twiny()可能就是您正在寻找的功能。

import matplotlib.pyplot as plt
plt.loglog(range(100))
ax1 = plt.gca()
ax2 = ax1.twiny()
ax2.set_xticks([100,80,50])
ax2.set_xticklabels(['0','1','2'])
ax1.set_xlabel('redshift')
ax2.set_xlabel('age')
plt.show()
Run Code Online (Sandbox Code Playgroud)

twiny() 函数的示例图