MATLAB: Adding appropriate legend data

legend

Using Matlab 2009a I created a plot that contains data from multiple sources. The sources can be input as either individual directories or as multiple sets of directories.
In the case of plotting from individual directories, the legend is simply the names of the individual directories.
In the case where multiple sets of directories are plotted (each directory in a set with the same color), I would like to see a legend like "set-1 blue, set-2 red, etc". This appears to be a problem, as legend will align each character set given with the color of the next line drawn, not the set as a whole. The result is of course that the legend contains the same colors for all sets (at least while the number of entries in the legend is smaller than the number of entries in the first set).
Is there any way to overcome this?

Best Answer

If you pass a vector of graphic handles as the first parameter to legend(), then the legend box produced will reflect those handles. When the handles are of line() or lineseries() objects (such as plot() produces), then legend() will use the line color and line appearance and line marker shape and color, to create the line used in the legend box.