在自定义颜色映射中显示矩阵中的值(Matlab)

在自定义颜色映射中显示矩阵中的值(Matlab),matlab,map,colors,customization,colorbar,Matlab,Map,Colors,Customization,Colorbar,我想根据矩阵包含的值来可视化矩阵。我有一个单元格,包含11个矩阵,每个矩阵有4列,分别是x,y,z(坐标)及其值。我想用位置x、y、z可视化这个值,并根据这些值定义我自己的颜色映射,然后显示颜色栏。我想用jet作为颜色贴图。我想用蓝色来描述最大值,用红色来描述最小值。最大值和最小值之间的值的颜色介于红色到蓝色之间 这是我已经尝试过的代码: figure; hold on for i=1:length(diameter_lca) L2 = diameter_lca{i}; dl1

我想根据矩阵包含的值来可视化矩阵。我有一个单元格,包含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
图形;
等等
对于i=1:长度(直径)
L2=直径_lca{i};
dl1=find(L2(:,4)>minimal_lca&L2(:,4)=2&L2(:,4)2-maksimal
x=L2(:,1);
y=L2(:,2);
z=L2(:,3);
图3(y(dl1),x(dl1),z(dl1),“*”,“颜色”和“r”);
图3(y(dl2),x(dl2),z(dl2),“*”,“颜色”和“b”);
结束
daspect([0.488281 0.488281 0.625000]);
视图(3);轴紧
卡姆莱特
在上面的代码中,我所做的是可视化每个矩阵第4列上的值,然后我做了一个条件,如果值在0-2之间,我给出红色,当值在2-4列的最大值之间时,我给出蓝色


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

最简单的方法是使用
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

很有效!非常感谢:)。但我还有一个问题。如果我想将其显示为一条直线,或者使用破折号而不是星号(*),在这种情况下,您可能需要从Matlab文件交换下载并使用。另外,如果你觉得我的答案有帮助,请考虑投票和/或接受它。哦,对不起,我接受你的答案,并投票赞成。非常感谢你。哦,那个克莱恩,我也试过了,但是你给我的方法(scatter3)比克莱恩更有效。我无法在这里上传结果图像,但我更喜欢你的方法。非常感谢:)