0
这是基本的,但我努力给scatter3
一个色彩映射。我这样做:将色图传递给scatter3
scatter3(gesture_x(:,1),gesture_x(:,2),gesture_x(:,3),1,colors(labels_x))
凡colors = ['c','y','m'...]
和labels_x = [1 3 3 2 ..]
如果有人能指出我在做什么错那将是巨大的。
这是基本的,但我努力给scatter3
一个色彩映射。我这样做:将色图传递给scatter3
scatter3(gesture_x(:,1),gesture_x(:,2),gesture_x(:,3),1,colors(labels_x))
凡colors = ['c','y','m'...]
和labels_x = [1 3 3 2 ..]
如果有人能指出我在做什么错那将是巨大的。
不能使用单字符颜色规范来指定要用于每个点的颜色数组。 MATLAB实际上将['c', 'y', 'm']
解释为'cym'
,这不是一个有效的颜色,所以它会出错。
如果你看一下the documentation,你需要以三种方式之一,以指定的颜色:
N x 3
数组,其中列有红色,绿色和蓝色分量) ,单一颜色('r'
或'red'
或[1 0 0]
)将被施加到所有点,
许多这将使用clims
映射到轴的颜色映射表。
标记颜色,指定为颜色字符串,一个RGB行向量,RGB值的三列的矩阵,或矢量。对于RGB行向量,使用三元素行向量,其元素指定颜色的红色,绿色和蓝色分量的强度。强度必须在[0 1]的范围内。如果散点图中有三个点,并且要将颜色作为色标映射的索引,请将C指定为三元素列向量。
% Random RGB value for each point
colors = rand(size(gesture_x, 1), 3);
% One color for everything
colors = 'r';
colors = 'red';
colors = [1 0 0];
% Random values mapped to the axes colormap
colors = rand(size(gesture_x,1), 1);