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のみ)の特定の色を決定する正しい方法を知っていますか?