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
的索引。