2014-01-28 58 views
1

我有一個問題,在那裏我不能做我有2個列表的步驟圖,其中我需要列表x是x值,其中每個x[j]值將添加每個步驟的值爲x[j+1]Matplolib使用列表製作步驟圖

x = [10, 10, 20, 20, 200, 800, 800, 800, 900, 1800, 2000, 600, 1500, 1800, 500, 800, 8000] 

y = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 18.47, 18.47, 18.47, 18.47, 19.23, 19.23, 19.23, 27.88, 27.88, 27.88] 

y需要在此順序,但我需要一個步驟圖了這一點使用matplotlib的。 有什麼建議嗎?

+1

你正在尋找'numpy.cumsum'或類似'x = [sum(p)for zip in(x,x [1:])]''? – wflynny

+0

numpy.cumsum解決了我的問題,謝謝! :) – user3246213

+0

@Bill你可以張貼您的評論作爲答案... –

回答

0

嘗試使用numpy.cumsum。例如:

In [1]: import numpy as np 
In [2]: x = range(1, 5) 
In [3]: x 
Out[3]: [1, 2, 3, 4] 
In [4]: y = np.cumsum(x) 
In [5]: y 
Out[5]: [1, 3, 6, 10]