尝试scatter3(X,Y,Z,S,C)
(见doc)
X,Y,Z是不言自明的。 S是标记的大小,C是颜色;你可以根据你的数据改变。
请试试看,如果遇到困难请更新您的问题。
更新1:感谢您的意见,我认为要插在规则网格上的数据,切片数据。
% create a regularly spaced mesh between the exterma of the dataset
xx = linspace(min(d(:,1)),min(d(:,1)),100);
yy = linspace(min(d(:,2)),min(d(:,2)),100);
zz = linspace(min(d(:,3)),min(d(:,3)),100);
[xi,yi,zi] = meshgrid(xx, yy, zz);
% interpolate the data in the regular space
vi = interp3(d(:,1), d(:,2), d(:,3), d(:,4), xi, yi, zi, 'spline');
% choose the slice planes
xslice = [-10 10]; yslice = 0; zslice = [-100, -50, -10];
% display the sliced interpolated data
slice(xi,yi,zi,vi,xslice,yslice,zslice);
查找在帮助功能(你可能需要调整了参数)。
但下一次:尝试自己并发布您的尝试。帮助更容易,再加上你会学到更多。
嗨大卫,谢谢。如果x,y和z分别是lat,long和depth,其中S = size和C = color,则第四维仍然缺失(即我想用不同颜色显示的金属浓度)。但是,可以通过编写以下命令来解决该问题:scatter3(x(:),y(:),z(:),[],metal(:))。但我真正想要做的是使金属浓度的等值面。这需要首先制作一些“金属”,如下所示:http://www.mathworks.com/help/matlab/ref/slice.html。请在这里找到我的数据库的一小部分:http://www.mediafire.com/view/?89kuz9e3yfrh92f – ToNoY
(谁是大卫?)另外似乎你已经找到了自己的问题的解决方案。 –
嗨Hugues,我没有完成...我仍然不知道如何制作一个音量,然后从非均匀分布的数据中切出音量。当人们用均匀分布的随机变量和功能完全没有科学价值时,人们只是制作漂亮的彩色图形/动画是令人恶心的: – ToNoY