もしプロットにラインではなくマーカーのみを描画する場合、scatter 関数を使用して「filled」オプションを指定することで、塗りつぶされたマーカーを作成できます。
x = rand(1,50);
y = rand(1,50);
colors = jet(numel(x));
scatter(x, y, [], colors, 'filled', 's')
もし plot 関数を使用する必要がある場合は、MarkerFaceColor プロパティを設定することでマーカーを塗りつぶすことができます。マーカーの縁の色を一致させたい場合は、MarkerEdgeColor プロパティを同じ色に設定してください。
figure
hold on
for i = 1:50
plot(x(i), y(i), 's', 'MarkerFaceColor', colors(i,:), 'MarkerEdgeColor', colors(i,:));
end
hold off
また、ループの各反復で hold on を呼び出す必要はありません。プロットの直前に一度だけ呼び出し、すべて終わったら hold off を呼び出してください。
マーカーの色を設定する他の例については、以下のドキュメントをご参照ください: