legendUnq
When using the 'DisplayName' property when plotting (e.g: plot(x, y, 'DisplayName', 'Sofia')), legendUnq() will search for unique 'DisplayName' strings within a vector of figure or axis handles and removes duplicate values. This cleans up the legend when plotting in a loop or when the the same data appear more than once in a figure. This also makes it easy to use one legend across several subplots within a figure. Plot elements with an empty 'DisplayName' will not be included in the legend so you won't have any of those generic 'Data1' items.
-
unqHandles = legendUnq(h) searches all data in the figure or axis handle 'h' (h can also be a vector of axis handles) that has a 'DisplayName' string used by legend(). Duplicate DisplayName strings are removed. Call legend(unqHandles) to produce the legend showing unique components. If a plotted object does not have a DisplayName, it will not appear in the legend.
-
Common problems this solves:
1) Removes duplicates in a legend
2) Removes legend elements that weren't intended to be in the legend (i.e., that have empty 'DisplayName')
3) Makes it easy to have 1 legend that covers all subplots in a figure.
Cite As
Adam Danz (2024). legendUnq (https://www.mathworks.com/matlabcentral/fileexchange/67646-legendunq), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired: Gantt chart for scheduling problems
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.