python - Matplotlib:用两个 x 轴绘制 x/y 坐标并进行逆比例缩放

标签 python numpy matplotlib

我想创建一个具有两个 x 轴和一个 y 轴的特殊图。底部 X 轴的值增加,顶部 X 轴的值减少。我有一个 x-y 对,我想在一个 x 轴上和顶部 x' 轴上以不同的比例绘制 y:(x' = f(x))

在我的例子中,xx' 之间的转换是 x' = c/x,其中 c 是一个常量。我找到了一个例子 here ,它处理这种类型的转换。不幸的是,这个例子对我不起作用(没有错误消息,输出只是没有转换)。

我正在使用 python 3.3matplotlib 1.3.0rc4 (numpy 1.7.1)

有人知道使用 matplotlib 执行此操作的便捷方法吗?

编辑: 我在 stackoverflow ( https://stackoverflow.com/a/10517481/2586950 ) 上找到了一个答案,它帮助我找到了想要的情节。一旦我可以发布图片(由于声誉限制),我会在这里发布答案,如果有人感兴趣的话。

最佳答案

我不确定这是否是您要查找的内容,但无论如何:

import pylab as py
x = py.linspace(0,10)
y = py.sin(x)
c = 2.0

# First plot
ax1 = py.subplot(111)
ax1.plot(x,y , "k")
ax1.set_xlabel("x")

# Second plot
ax2 = ax1.twiny()
ax2.plot(x / c, y, "--r")
ax2.set_xlabel("x'", color='r')
for tl in ax2.get_xticklabels():
    tl.set_color('r')

example

我猜这就是你的意思

I have an x-y pair, for which i want to plot y over one x-axes and under one x'-axes with different scalings.

如果我错了,我深表歉意。

关于python - Matplotlib:用两个 x 轴绘制 x/y 坐标并进行逆比例缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17675268/

相关文章:

python - 在 python 中重载 [] 运算符?

python - Pandas 元素比较和创建选择

Python:将整数写入二进制文件

python - 带有数组和标量的 Numpy 数学?

python - 在 pandas plot 图例中显示非 ascii(日文)字符

python - 如何在 matplotlib 中创建 splinter 的垂直条形图?

python - 如何绘制 3D 曲面?

python pandas 删除 df 值中的括号和 ,

python - 如何修复 pylint E1134 : Non-mapping value X is used in a mapping context (not-a-mapping)

python - 如何将 one-hot 编码转换为整数?