File Exchange

image thumbnail

Combined Legend for multiple axes

version (1.62 KB) by Shreyes
Provide an array of axes handles or 1 figure handle.It will create a legend of all the lines in axes

1 Download

Updated 15 Mar 2012

View License

A simple demo to show how you can obtain the children object handles in plot determine their type and do something with it.

If you have multiple axes in one figure but wish to have one legend for all the lines in axes. The conventional way would be to provide all the handles of the lines in your axes to the built in function 'legend'. But instead use this method and just pass the figure handle.
This script will search for all the axes and the lines within it and provides the legend.
Also you can give an array of axes handles.

Since it uses the built in legend function all the options are supported.

Cite As

Shreyes (2021). Combined Legend for multiple axes (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (1)


Cool basic algorithm!
I would recommend two fixes in side the legend_mode.m file:
Add some preallocation defines at line20
labelhandles = [];
outH = [];
outM = [];

replace line 62 with:
leg = legend(line_h,varargin{:});

MATLAB Release Compatibility
Created with R2007b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!