MULTIPLOT

Version 1.0.0.0 (3.15 KB) by Olivier
2D-line plots on several axes with common x-axis
2.9K Downloads
Updated 22 Jul 2008

View License

multiplot - 2D-line plots on several axes with common x-axis
multiplot(XDATA,YDATA,'PropertyName',PropertyValue,...) plots the data
stored in the cell arrays XDATA and YDATA in several subplots with a common
x-axis. multiplot also links all generated axes in order to synchronize the
zoom along the x-axis. See below for a description of each argument.

LINES = multiplot(XDATA,YDATA,'PropertyName',PropertyValue,...) performs the
actions as above and returns the handles of all the plotted lines in a cell
array which has the same length as XDATA.

[LINES,AXES] = multiplot(XDATA,YDATA,'PropertyName',PropertyValue,...)
performs the actions as the first syntax and returns the handles of all the
plotted lines in a cell array which has the same length as XDATA and all the
axes handles in a double array.

Required inputs and descriptions:
XData - Cell array. Contains the X data of the lines. Each cell
content is similar to to the X variable when you execute plot(X,Y).

YData - Cell array. Contains the Y data of the lines. Each cell
content is similar to to the Y variable when you execute plot(X,Y).
Note that YData must be the same length as XData.

Property/Value pairs and descriptions:

LineSpec - Cell array or char array. If LineSpec is a char array then it
specifies this line spec will be used for all lines. If LineSpec is a
cell array it must contain only char arrays and each cell will specify
the line spec of the corresponding cell in XData and YData.
Note that if LineSpec cell array has less elements than XData and YData
then line spec will be periodically reused.

XLabel - Char array. x-axis label displayed below the bottom axes.

YLabel - Cell array. Labels that will be displayed next to the y-axis
for each data.
Note that YLabel must be the same length as XData and YData.

Title - Char array. Label deisplayed on top of all axes.

XLim - Two elements double array. The lower and upper limits for the
common x-axis of all axes.

Example:
xdata = {1:20, linspace(-10,25,100), linspace(0,30,25)};
ydata = {2000 * rand(1,20) , rand(1,100) , 500 * rand(1,25)};
ylabel = {'1st Data','2nd Data','3rd Data'};
linespec = {'b-*','r:+','g'};
multiplot(xdata, ydata, 'YLabel', ylabel, ...
'LineSpec', linespec, 'Title', 'Graph Title', 'XLabel', 'time');

Cite As

Olivier (2024). MULTIPLOT (https://www.mathworks.com/matlabcentral/fileexchange/18011-multiplot), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2007b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Line Plots in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.0.0.0

This functions works only with up to 3 axes.
I've change the code to support up to N axes.