我想基于其包含的值来显示矩阵。我有一个单元格,其中包含11个矩阵,每个矩阵有4列,分别是x,y,z(坐标)及其值。我想用位置x,y,z可视化这个值,并根据这些值定义我自己的色彩图,然后显示色条。我想用jet作为colormap。我想使用Blue来描述最大值,使用Red作为colormap上的最小值。最大值和最小值之间的值具有红色到蓝色之间的颜色。
这是我已经尝试过的代码:
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-maximal之间第四列的价值,我给了蓝色。
现在,我需要显示colormap jet中每个矩阵的第4列中的每个值,没有任何条件。
答案 0 :(得分: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