gpt4 book ai didi

python - Matplotlib:一条线,以不同单位绘制在两个相关的 x 轴上?

转载 作者:太空狗 更新时间:2023-10-29 17:49:06 30 4
gpt4 key购买 nike

我有一个 y 变量,我试图在图形的顶部和底部针对两个相关的 x 轴绘制它(例如 y="立方体中的事物数",x1="立方体的边长", x2="立方体的体积")。我在 numpy 数组中有 y、x1、x2。我的 x1 和 x2 是一对一的单调关系,但并不简单,它们在不同的方向上增加,如“边长”和“反体积”。我试过使用 twiny() 和 twin(),但它们似乎是为绘制不同的 y 变量而设计的。有任何想法吗?谢谢大家!

下面是我正在尝试做的事情的示例,除了使用单行而不是符号。这个想法是,比方说,sigma=0.4 和 M=2e15 是一个点的等效且可互换的标签。

alt text http://img580.imageshack.us/img580/4554/screenshotuy.png

最佳答案

对于不同的 x 尺度,使用 twiny()(将其视为“共享的 y 轴”)。稍微改编自 matplotlib documentation 的示例:

import numpy as np
import matplotlib.pyplot as plt

# plot f(x)=x for two different x ranges
x1 = np.linspace(0, 1, 50)
x2 = np.linspace(0, 2, 50)
fig = plt.figure()

ax1 = fig.add_subplot(111)
ax1.plot(x1, x1,'b--')

ax2 = ax1.twiny()
ax2.plot(x2, x2, 'go')

plt.show()

如果您只想要第二个轴,请将第二个数据集绘制为不可见。

ax2.plot(x2, x2, alpha=0)

关于python - Matplotlib:一条线,以不同单位绘制在两个相关的 x 轴上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3136800/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com