2011-09-01 195 views
0

嗨,我有一個文本文件,其中包含三列數字;每列一列用於一堆點的x,y,z座標。所有數字在0和1之間。使用Matplotlib或Octave從文本文件中繪製三維點

我想在單位立方體[0,1] x [0,1] x [0,1]中繪製所有這些點。

請讓我知道我可以如何在Octave或MatPlot lib中做到這一點,無論哪個產品質量更好。

回答

3

如果我正確理解你的問題,這是它的外觀在Matplotlib:

3D scatter plot

這是產生該地塊的代碼:由於代碼表明

import matplotlib.pyplot as plt 
from mpl_toolkits.mplot3d import Axes3D 
import numpy as np 

np.random.seed(101) 
x,y,z = np.random.rand(3,20) 

fig = plt.figure() 
# version 1.0.x syntax: 
#ax = fig.add_subplot(111, projection='3d') 
# version 0.99.x syntax: (accepted by 1.0.x as well) 
ax = Axes3D(fig) 

ax.scatter(x,y,z) 

fig.savefig('scatter3d.png') 

,有正如SO question/answer中所述,matplotlib版本0.99.1.1和1.0.1的行爲方式略有不同。我使用的是0.99.1.1,我無法使用2D scatter圖的所有可用選項,對於3D圖也應該如此。分散特徵的完整列表列於here

上述代碼是在3D繪圖上查看matplotlib tutorial的結果。

+0

謝謝!這很有幫助! – smilingbuddha