我想创建一个具有两个 x 轴和一个 y 轴的特殊图。底部 X 轴的值增加,顶部 X 轴的值减少。我有一个 x-y
对,我想在一个 x 轴上和顶部 x'
轴上以不同的比例绘制 y:(x' = f(x))
。
在我的例子中,x
和 x'
之间的转换是 x' = c/x
,其中 c 是一个常量。我找到了一个例子 here ,它处理这种类型的转换。不幸的是,这个例子对我不起作用(没有错误消息,输出只是没有转换)。
我正在使用 python 3.3
和 matplotlib 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')
我猜这就是你的意思
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/