6

我想根据矩阵包含的值来可视化矩阵。我有一个单元格,其中包含 11 个矩阵,每个矩阵有 4 列,它们是 x、y、z(坐标)及其值。我想用位置 x、y、z 可视化这个值,并根据这些值定义我自己的颜色图,然后显示颜色条。我想使用 jet 作为颜色图。我想用蓝色来描述最大值,用红色来描述颜色图上的最小值。最大值和最小值之间的值具有红色到蓝色之间的颜色。

这是我已经尝试过的代码:

figure;
hold on
for i=1:length(diameter_lca)
    L2 = diameter_lca{i};
    dl1 = find(L2(:,4) > minimal_lca & L2(:,4)<2);%diameter 0-2
    dl2 = find(L2(:,4) >= 2 & L2(:,4) <= maksimal_lca);%diameter>2-maksimal
    x=L2(:,1);
    y=L2(:,2);
    z=L2(:,3);
    plot3(y(dl1),x(dl1),z(dl1),'*','Color','r');
    plot3(y(dl2),x(dl2),z(dl2),'*','Color','b');
end
daspect([0.488281 0.488281 0.625000]);
view(3); axis tight
camlight

在上面的那些代码中,我所做的是可视化每个矩阵第 4 列的值,然后我做了一个条件,如果值在 0-2 之间,我给了红色,当它在 2 的最大值之间第4栏,我给了蓝色。

现在,我需要在没有任何类似条件的情况下显示 colormap jet 中每个矩阵的第 4 列中的每个值。

4

1 回答 1

1

最简单的方法是使用scatter3

%# make jet colormap from red to blue
cmap = flipud(jet(128));

%# plot values
figure,
scatter3(L(:,1),L(:,2),L(:,3),[],L(:,4),'marker','*')

colormap(cmap)
colorbar
于 2012-12-21T13:18:48.487 回答