Matlab 如何为图形中的点指定颜色

Matlab 如何为图形中的点指定颜色,matlab,plot,colors,Matlab,Plot,Colors,我需要绘制一个图形,其中每个点(x,y,z)都有一个基于其值指定的颜色。如何在Matlab中实现这一点? 我试过: 散射体3(x,y,z,c) 但我在色彩方面有困难 考虑这个例子: (x_i,y_i,z_i)的值为v_i。我希望最大值的点为红色,最小值的点为蓝色。您必须像这样使用它: scatter3(x, y, z, s, c) 其中,s是标记的大小 如果您像以前那样使用它,Matlab认为颜色是一个大小值,很可能返回一个错误。使用此代码。我假设您需要基于z的颜色。这就是为什么在scatte

我需要绘制一个图形,其中每个点(x,y,z)都有一个基于其值指定的颜色。如何在Matlab中实现这一点? 我试过: 散射体3(x,y,z,c) 但我在色彩方面有困难

考虑这个例子:
(x_i,y_i,z_i)的值为v_i。我希望最大值的点为红色,最小值的点为蓝色。

您必须像这样使用它:

scatter3(x, y, z, s, c)
其中,
s
是标记的大小


如果您像以前那样使用它,Matlab认为颜色是一个大小值,很可能返回一个错误。

使用此代码。我假设您需要基于
z
的颜色。这就是为什么在scatter3中有第二个
z
。您可以根据显示的颜色将其替换为另一个矩阵

s=50; %size of marker
scatter3(x, y, z, s ,z,'filled');
colormap(jet);
colorbar;
如果你需要一个颜色变化蓝白红。然后使用这个代码

s=50; %size of marker
scatter3(x, y, z, s ,z,'filled');
m = size(get(gcf,'colormap'),1)/2;
steps = (0:m-1)'/max(m-1,1);
cm_red_blue = [ steps steps ones(m,1);ones(m,1) flipud(steps) flipud(steps) ]; 
colormap(cm_red_blue);
colorbar;
问题可能重复。检查一下这个问题,如果这个问题没有回答你,就发布你的代码,这样我们就可以看到失败的地方。