2013-05-20 66 views
0

我有一個包含3列數據的文本文件,我想繪製它。Python:使用3列數據加載文本

from numpy import * 
import pylab 
from mpl_toolkits.mplot3d import Axes3D 

datalist = loadtxt("datagrid.txt") 
x, t, u = datalist[:, 0, 0], datalist[0, :, 0], datalist[0, 0, :] 

fig = pylab.figure() 
ax = fig.add_subplot(111, projection = '3d') 
ax.plot(x, t, u) 
pylab.show() 

我被告知太多索引。如果我只能使用2個索引,我怎樣才能用3列解壓縮文本文件?

+0

你可能需要做一些像'ax.plot(x,t); ax.plot(u,t)' –

回答

1

正如我理解正確的話,該文件"datagrid.txt"包含有類似

1 2 3 
4 5 6 
7 9 0 
. . . 
. . . 
. . . 

如果是這樣,那麼loadtxt將其加載爲二維數組。因此,您需要更改線路設置xt,並u到:

x, t, u = datalist[:,0], datalist[:,1], datalist[:,2] 

或者更簡單和更Python:

x, t, u = datalist.transpose() 

或第三個選項,閱讀您的文件爲:

x, t, u = loadtxt("datagrid.txt", unpack=True) 
+0

有沒有辦法將這個圖作爲密度圖或顏色梯度? – dustin

+0

你想要繪製什麼?哪個變量'x','t','u'應該在什麼軸上,哪個應該對應於顏色? –

+0

我已經達到了預期的效果,謝謝 – dustin

相關問題