フィルターのクリア

string array of plot colors

2 ビュー (過去 30 日間)
pemfir
pemfir 2012 年 12 月 25 日
I have a program that classifies the points, and at the time of classification i can assign different properties to the points (e.g., points in class one are all '*r' , red star, and points in class two are 'ob' , blue circle, for later plotting. Once the classification is done. I would like to plot the points. using something like this.
color = {':b',':g',':r'}; % is constructed earlier
plot([1:3], [1:3], color{:});
but i get an error, it can not handle the whole array of colors i have to do
color = {':b',':g',':r'};
for i=1:3
plot(i, i, color{i});
end
which is very slow and annoying if you have many points.

採用された回答

Walter Roberson
Walter Roberson 2012 年 12 月 25 日
plot() cannot assign colors on a per-point basis. You should use scatter() for that. If you want the points joined, then plot() first without any marker and the scatter() the markers in place.
Note that the third argument to scatter(), before the colors, is the point size.
The color argument to scatter needs to be an RGB array.
  1 件のコメント
pemfir
pemfir 2012 年 12 月 25 日
Thanks a lot ! it does the job for me!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeScatter Plots についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by