Python 使用多个Y轴打印

Python 使用多个Y轴打印,python,numpy,matplotlib,Python,Numpy,Matplotlib,使用ax.在图形上打印对象时。如何按住打印并 在同一个绘图上渲染多个绘图 例如: f = plt.figure(figsize=(13,6)) ax = f.add_subplot(111) ax.plot(x1,y1) ax.plot(x2,y2) ax.plot(xN,yN) 我尝试补充: ax.hold(True) 在我开始绘图之前,但它不起作用。我认为问题在于,它们都有相同的y刻度,我只看到数值范围最大的图 如何在同一绘图上绘制多个不同比例的一维阵列?有没有办法用不同的Y轴彼此相

使用
ax.
在图形上打印对象时。如何
按住
打印并
在同一个绘图上渲染多个绘图

例如:

f = plt.figure(figsize=(13,6))
ax = f.add_subplot(111)

ax.plot(x1,y1)
ax.plot(x2,y2)

ax.plot(xN,yN)
我尝试补充:

ax.hold(True)
在我开始绘图之前,但它不起作用。我认为问题在于,它们都有相同的y刻度,我只看到数值范围最大的图


如何在同一绘图上绘制多个不同比例的一维阵列?有没有办法用不同的Y轴彼此相邻地绘制它们?

问题中的代码应该没有问题:

import matplotlib.pyplot as plt
import numpy as np

# some data
x1 = np.linspace(0, 10, 100)
x2 = np.linspace(1, 11, 100)
xN = np.linspace(4, 5, 100)
y1 = np.random.random(100)
y2 = 0.5 + np.random.random(100)
yN = 1 + np.random.random(100)![enter image description here][1]

# and then the code in the question
f = plt.figure(figsize=(13,6))
ax = f.add_subplot(111)

ax.plot(x1,y1)
ax.plot(x2,y2)

ax.plot(xN,yN) 

# save the figure
f.savefig("/tmp/test.png")
创建:

这应该和预期的差不多。所以问题不在代码中

您是否在shell中运行这些命令?哪一个?伊皮顿


一个猜测:所有三个绘图都是绘图,但所有绘图中的数据都完全相同,并且它们相互重叠。

这可能有助于代码的处理?
保持
似乎没有必要;无论你用ax画什么。一些东西会被画到这个图上。因此,您的coude应该在相同的axis实例(“相同的绘图”)中获得三条线。谢谢@DrV,它没有。我在不同的绘图(后续绘图覆盖以前的绘图)上获得了所有内容。DrV是正确的。x和y值的定义范围是否相似?每个绘图都将重新调整x和y限制(除非您精确指定),以便之前的绘图可能非常小,以至于它们不可见。@A我认为您是正确的。我已经更新了操作。谢谢@DrV。我认为你是对的。我认为问题在于它们都有非常不同的y范围,而我只看到y范围最高的一个。是否有任何方法可以在绘图中以相同的比例绘制它们,但在同一绘图中有多个Y轴(即记号和值)彼此相邻?