除了 3 个数值外,数据还包含分类值(0 或 1),并希望使用 3D 散点图显示数据。我试图编写一个函数来从 csv 文件中读取数据并通过以下方式创建散点图:
function f = ScatterPlotUsers(filename)
data = ReadCSV(filename);
x = data(:,2);
y = data(:,3);
z = data(:,4);
size = ones(length(x), 1)*20;
userType = data(:,5);
colors = zeros(length(x), 1);
a = find(userType == 1);
b = find(userType == 0);
colors(a,1) = 42; %# color for users type a
colors(b,1) = 2; %# color for users type b
scatter3(x(:),y(:),z(:),size, colors,'filled')
view(-60,60);
我真正想做的是将 a 的颜色设置为红色,将 b 的颜色设置为蓝色,但无论颜色值如何(例如 42 和 2),点的颜色都不会改变。有谁知道确定几个分类值(在这种情况下只有 0 和 1)的特定颜色的正确方法是什么?