2013-04-21 33 views
2

假設我們有一個單列csv文件。我可以繪製它;如何繪製numpy數組與行號

data = np.loadtxt(file) 
test = data[:,0] 
plot(test) 

它繪製測試與行號(條目)。但是我想把這個行數乘以這個數字以便我可以繪製;

plot(test,row[i]*25) 

我認爲應該存在比排列行號更簡單的方法。任何pythonic方式來處理這個問題?

+0

看一看在'numpy.arange'。例如。 'y = 25 * np.arange(test.size)'。 'numpy.indices','numpy.mgrid','numpy.ogrid','numpy.ndindex'和'numpy.ndenumerate'是類似的功能,也是有用的要注意的。 – 2013-04-21 19:42:26

回答

1

給出一個數據,你可以這樣做:

import matplotlib.pyplot as plt 

data=[0,2,113,....,19,5] 
x_coordinate = [ 25 * i for i in range(len(data)) ] 
plt.plot(x_coordinate,data) 
plt.show() 

你有所有的x標籤指標爲25

倍數或使用numpy的陣列功能:

x_coordinates = 25 * np.arange(test.size) 
+0

這是好的,但它沒有被矢量化。 – 2013-04-21 20:53:20

+0

如果通過矢量化你的意思是使用numpy數組函數,我已經使用numpy數組函數'x_coordinates = 25 * np.arange(test.size)'編輯了答案,就像Joe Kington在評論中提示你一樣。 – 2013-04-21 21:24:04