我想绘制一个文本文件,其中有4列,第一列是经度,第二列是纬度,第三列是深度,而且是每个点的位移量。(它与fualt相关)
-114.903874 41.207504 1.446784 2.323745
我想要一个情节来显示每个点的位移量(就像我们用imagesc绘制的图像),不幸的是" imagesc"命令不起作用。
我该怎么画? 谢谢你的关注
答案 0 :(得分:2)
一种简单的方法是使用scatter3并将您的位移指定为颜色。请注意,您必须提供一个大小才能使用 - 我正在使用[]
(空矩阵)将其设置为默认值。如果你的四组值是四个相同大小的向量,那么它就像是:
scatter3(lat,lon,depth,[],displacement, 'filled')
displacement
中的值将线性映射到当前色彩映射。 'filled'
为您提供填充标记而非开放标记(默认标记为圆形,但可以更改)。
答案 1 :(得分:0)
您可以使用plot3(longitude,latitude,depth)
绘制每个点。您可以根据for
循环中的位移为每个点着色。最简单的方法是创建一个色彩映射表,例如使用jet
并根据位移选择颜色。
figure;
hold on;
cmap = jet(256);
dispRange = [min(displacement),max(displacement)];
for k=1:size(longitude,2)
c = cmap(1+round(size(cmap,1)*(displacement(k)-dispRange(1))/dispRange(2)),:);
plot3(longitude(k),latitude(k),depth(k),'o', ...
'MarkerEdgeColor',c,'MarkerFaceColor',c);
end