mplot: Multiple plots in a single figure with list box selection
Updated 2 Oct 2010
mplot creates a figure with a list box and axes. The list box contains references to plot instructions to sketch data on the axes. Plot instructions are added to the list box with successive calls to the function mplot.
A plot instruction is either a function handle that takes at least a single argument, which is an axes handle; or a series of additional arguments passed to mplot, which are delegated unchanged to the built-in plot function.
When an item is selected in the list box, the corresponding instructions are used to plot data on the right-hand side axes. This means either calling the user-defined function with the axes handle as the first parameter, or the built-in plot function with all the additional arguments. When an item is double-clicked, a new figure window opens and data are plotted on a new pair of axes. This is useful when the axes are to be saved or exported.
% creates an empty mplot figure if current figure is not already one
fig = mplot;
% returns the current figure handle in fig if it is an mplot figure, creating a new figure if needed
fig = mplot('new')
% unconditionally creates an empty mplot figure and returns its handle in fig
x = 1:100; y = rand(1,100); mplot(x, y, 'kx');
% adds a new plot to the currently active mplot figure; whenever the corresponding list item is clicked, plot(x,y,'kx') is executed
x = 1:100; y = rand(1,100); mplot(fig, x, y, 'kx');
% uses the specified mplot figure instead of the currently active one
x = 1:100; y = rand(1,100); mplot('my caption', x, y, 'kx');
% assigns the given caption to the newly added plot
fun = @(ax) plot(ax, x, y, 'k.'); mplot(fun);
% adds a new plot instruction given by a user function
Levente Hunyadi (2023). mplot: Multiple plots in a single figure with list box selection (https://www.mathworks.com/matlabcentral/fileexchange/27111-mplot-multiple-plots-in-a-single-figure-with-list-box-selection), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Inspired by: uisplitter
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.