string array of plot colors

4 次查看(过去 30 天)
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.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Scatter Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by