python - 多个 x 轴,彼此非线性

标签 python matplotlib

我正在尝试使用 matplotlib 绘制具有两个彼此非线性的 x 轴的图形。我想要得到的情节是这样的:

Plot

基本上,年龄取决于红移。它是非线性的,需要计算。我想让年龄和红移都作为 x 轴。我怎样才能做到?

最佳答案

函数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()

example plot for twiny() function

关于python - 多个 x 轴,彼此非线性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14845350/

相关文章:

python-3.x - Matplotlib 使用文本而不是标记,但这不是最好的方法吗?

python - 从没有标题的 CSV 中在 Pandas 中绘制图表

python - Python 中 collections.Counter() 的时间复杂度是多少?

python - 为什么 LD_PRELOAD 不能与 Python 一起使用?

python - matplotlib imshow 固定方面和垂直颜色条匹配主轴高度

python - 绘制时间列表

matplotlib - 在海生/matplotlib 中绘制圆形颜色条的轮廓

python - 比较 7 个制表符分隔的文件,打印相似之处

python - 仅生成具有特定数字的随机数

python - 如何在 Django 中获取登录用户的用户名?