MATLAB: Linestyles & Marker styles when plotting a matrix

linestylemarker

How can I specify the markers and linestyles using the plot or semilogy commands when I am plotting a matrix? I understand how to use triplets (x,y,s) for plotting individual lines. How do I do the same when plotting plot(Y) where Y is a matrix? Including the 'marker' property in the plot command seems to apply the same marker to all lines. Thanks!

Best Answer

It's hard to do that in the plot command, but the set command can do it:
h = plot(magic(3));
set(h,{'Marker'},{'+';'s';'o'})
The syntax is a little odd, isn't it? What's going on is that plot returned a 3x1 array of handles to line objects. The {} syntax to set says that I'm giving you a property name and an array of values, and I want you that property of each of the objects to the corresponding value.
Does that make sense?