MATLAB: How to plot os many curves in one figure with distinct marker

legendmany figuresplot

I want to draw many plots (say 30) in one figure with distinct color and maker. How can I ask MATLAB to do it automatically?
If I use a loop, it gives all the plots the same color and type.
So I have to use something like this which is too long:
plot(x1,y1,x2,y2,…..x30,y30)
Is there a better way?
Also how can I set the legend for them? Again I have to use such long command for legend:
legend("Plot1','Plot2',….)
Any better way?
Thanks!
Steven

Best Answer

You may wish to have a look at the FEX contribution "plt".
Otherwise have a more detailed look at "hold all" and the axes properties ColorOrder and LineStyleOrder.
Remember that you can feed legend() a cell array of strings. Alternately you can feed legend the handle for a graphics object and the legend string to associate with it. See also http://www.mathworks.com/help/matlab/creating_plots/controlling-legends.html