在matlab中绘制带有4列的文本文件

时间:2014-11-27 08:14:54

标签: matlab plot

我想绘制一个文本文件,其中有4列,第一列是经度,第二列是纬度,第三列是深度,而且是每个点的位移量。(它与fualt相关)

-114.903874 41.207504 1.446784 2.323745

我想要一个情节来显示每个点的位移量(就像我们用imagesc绘制的图像),不幸的是" imagesc"命令不起作用。

我该怎么画? 谢谢你的关注

2 个答案:

答案 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