绘制第一个值的行不是x = 0

时间:2016-10-07 18:42:01

标签: matplotlib

我想在同一个图表上绘制几个ndarray个。每个都是相同的大小。第一个包含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

即,从y = 0开始定义线y1,从x = 1开始定义线y2,从x = 2开始定义线y3。同样,y2定义为x = 4而y1不定义。 (您可以将y2视为y1右侧的翻译。)

使用绘图,所有行都从相同的x坐标开始,这是我不想要的。

1 个答案:

答案 0 :(得分:2)

通常,您只需为每个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()