scatter
не отображает каждый столбец отдельно. Это column 1
против column 2
. Итак, каждая точка на диаграмме рассеяния состоит из обеих колонок. Другими словами, нет никакой разницы между scatter(x,y)
и plot(x,y,'o')
. Однако scatter
имеет и другие функции, поэтому он доступен в качестве другой функции. Если вы просто пытались построить каждый столбец отдельно двумя цветами, вы можете просто сделать plot(matrix,'o')
, и MATLAB должен автоматически назначить синий для первого столбца и зеленый для второго.
scatter
также принимает цветовую карту в качестве аргумента. Поэтому, если вы намеревались построить половину своих данных (оба столбца) одним цветом, а остальные - другим, вы можете попробовать это
nRows=size(matrix,1);
red=repmat([1,0,0],fix(nRows/2),1);%# use fix so that you don't get an error if nRows is not even.
green=repmat([0,1,0],nRows-fix(nRows/2),1);
scatter(matrix(:,1),matrix(:,2),[],[red;green]);