2016-06-11 10 views
1

に私はこのデータセットに最初の2つの数字が座標で3次元矩形はmatplotlibの

500295 152342 25286 
500295 157981 24120.6 
500295 163619 15469.8 
500295 169258 18071.8 
500295 174897 25624.7 
500295 180536 30323.5 
500295 186174 8828.7 
500295 191813 4681.19 
500295 197452 7470.08 
500295 203090 29070.4 
506851 152342 2181.82 
506851 157981 1809.44 
506851 163619 3045.71 
506851 169258 7433.56 
506851 174897 10637.3 
506851 180536 12511.1 
506851 186174 7514.93 
506851 191813 5468.37 

を有し、第三の重量です。私はそれから3-Dプロットを作りたいです。私は今、実際の値に下から開始する必要が次の図私はドット、3-Dの長方形または他の形状をしたいと思いenter image description here

を得

W = pd.read_csv('data.txt',sep='\t') 
W.columns = ['X','Y','W'] 
mpl.rcParams['legend.fontsize'] = 10 
fig = plt.figure() 
ax = fig.gca(projection='3d') 

ax.plot(W.X, W.Y, W.W,'o') 
ax.legend() 

plt.show() 

を使用しています。 助けてください?

あなたは

答えて

2

あなたはそのためのbar3Dを使用することができ感謝しています。

bar3D matplotlib plot exampleしかしmatplotlibのは、一瞬のために、優れた3Dエンジンではないことに注意してください:

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

xsize = 1000 
ysize = 4000 
data = np.loadtxt('data') 
x, y, dz = data[:, 0], data[:, 1], data[:, 2] 
dx, dy, z = np.ones(x.shape)*xsize, np.ones(x.shape)*ysize, np.zeros(x.shape) 

fig = plt.figure() 
ax = fig.gca(projection='3d') 

ax.bar3d(x, y, z, dx, dy, dz, color='green') 

plt.show() 

、その結果:あなたの提供されたデータを使用しました。詳細については、this postを参照してください。

+0

驚くべきことに、これは非常にうまくいきます。そんなにありがとう。 –

関連する問題