Iterative plotting with symbol change

26 views (last 30 days)
Alice on 23 Oct 2014
Commented: Ced on 24 Oct 2014
I'm trying to do iterative plotting with each plot using a different symbol. The positions don't change, I just need to make the symbols change with each iteration. Any suggestions? Thanks
  1 Comment
Ced on 23 Oct 2014
what do you mean by "the positions don't change, [...] make the symbols change"? So you have a plot, which does not change, but you want the colors/markers to change?
Generally speaking, you can either simply replot your data points using the new desired colors/markers, or you can use get/set to change any values/colors/markers etc. you like. The general formulation would be something like
handle = plot(x,y);
% then change whatever you like
you can get a list of the available options by typing "get(handle)" (where handle is your actual plot handle).

Sign in to comment.

Accepted Answer

Adam on 23 Oct 2014
You can change the marker type for a plot in a loop if that is what you mean, though there are only 14 pre-defined ones so far as I can see.
figure; h = plot( 1:100, rand(100,1) ); hold on
availableMarkers = set( h, 'Marker' );
for i = 1:numel( availableMarkers )
hPlot = plot( 1:100, rand(100,1) );
hPlot.Marker = possibleMarkers{i};
That isn't the most efficient code, but it can be tidied up. I initially read your question as you wanting to change the marker on the same plot over and over so adapted the code I wrote for that to use for a new plot each time instead!
Ced on 24 Oct 2014
I don't think this is possible by defaults (apart from the standard letters x, o, etc.). However, I found this on Matlab Central
There are also several threads on "custom markers" if you google it.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by