Matplotlib 绘制一条';s的第一个值不在x=0处

Matplotlib 绘制一条';s的第一个值不在x=0处,matplotlib,Matplotlib,我有几个ndarrays要绘制在同一个图表上。每个都是同样大小的。第一个包含x=0、x=1、x=2、x=3的y数据。第二个包含x=1、x=2、x=3、x=4的y数据。第三个包含x=2,x=3,x=4,x=5的y数据 我是否可以让Pyplot将线移到1上,使它们都以适当的x值开始显示 (我知道我可以在行中预先添加一个或两个伪值,但我不希望这样,我希望行从正确的位置开始) 更新 为了更好地解释,以下是数据: x |y1 |y2 |y3 ------------- 0 | 0 | - | - 1 |

我有几个
ndarray
s要绘制在同一个图表上。每个都是同样大小的。第一个包含x=0、x=1、x=2、x=3的y数据。第二个包含x=1、x=2、x=3、x=4的y数据。第三个包含x=2,x=3,x=4,x=5的y数据

我是否可以让Pyplot将线移到1上,使它们都以适当的x值开始显示

(我知道我可以在行中预先添加一个或两个伪值,但我不希望这样,我希望行从正确的位置开始)

更新 为了更好地解释,以下是数据:

x |y1 |y2 |y3
-------------
0 | 0 | - | -
1 | 1 | 0 | -
2 | 2 | 1 | 0
3 | 3 | 2 | 1
4 | - | 3 | 2
5 | - | - | 3
也就是说,线y1从x=0开始定义,线y2从x=1开始定义,线y3从x=2开始定义。同样,y2是为x=4定义的,而y1不是。(您可以将y2视为y1右侧的翻译)


使用plot,所有线都从相同的x坐标开始,我不希望这样。

通常,您只需为每个y范围提供一个x值范围,以
plot

import matplotlib.pyplot as plt
import numpy as np

x1 = np.arange(4)
x2 = x1+1
x3 = x2+1

for x in (x1,x2,x3):
    plt.plot(x,np.random.randint(10,size=4))

plt.show()

我不明白你的问题。你能解释清楚吗?看我的答案。如果您有某种方法来跟踪每个
y
的偏移量,您只需要有一个
x
数组,就可以说
plt.plot(x+offset,yi)
。如果您想完全省略
x
,则根据上下文,这将不起作用。如果您只提供
y
,则x数据将始终是
y
的索引。