如何为图表中的点指定颜色

时间:2016-05-14 05:39:15

标签: matlab plot colors

我需要绘制一个图表,其中每个点(x,y,z)都根据其值分配颜色。我怎样才能在Matlab中做到这一点? 我试过了: scatter3(x,y,z,c) 但是我的颜色很难。

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

2 个答案:

答案 0 :(得分:1)

你必须使用它:

scatter3(x, y, z, s, c)

其中s是标记的大小。

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

答案 1 :(得分:1)

使用此代码。我假设你需要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;