## Plotstack

version 1.0.0.0 (2.43 KB) by
A plot utility, to plot graphs one over the other (or one next to the other vertically)

Updated 01 Jul 2011

This is a utility to plot graphs one on top of the other or one next to the other for qualitative inspection.

It plots using MATLAB's plotting functions (such as plot, stem, stairs etc) and handles the plot properties (such as colors, line widths, marker sizes etc).

Essentially it creates subplots and eliminates their inner margins of the subplots.

The plots may be horizontal (one over the other) or vertical (one next to the other.

Below is the help file. The plots in the screenshot were created by running the example in the helpfile.

PLOTSTACK plots the columns in a matrix, one above the other.

CALL
[ax,ls] = plotstack(X,...); % X is the 2D array
[ax,ls] = plotstack(X,Y,...); % Y is the 2D array, X is the x-axis
[ax,ls] = plotstack(X,plotfun,...); % X is the 2D array, plotfun is
% plotting function
[ax,ls]ls = plotstack(X,Y,plotfun,...);

INPUT
plotfun: (function handle) plotting function to use. E.g. @plot, @stem,
@stairs. Default is @plot.
...: plotfun-specific properties and values, such as 'MarkerSize',
'Linewidth' etc.
An additional property is 'Vertical' to plot from
to top to bottom (see examples)

OUTPUT
ax: axis handles (for futher manipulation).
ls: lineseries handles (for further manipulation).

EXAMPLES
x = randn(100,10); % make random data
figure, plotstack(x,'k');
figure, plotstack(1:100,x,'m-*');
figure, plotstack(x,@stem,'MarkerSize',2);
figure, ax = plotstack((1:50)/50,x(1:50,1:5), @stairs, 'r','Vertical', 'Linewidth',2);
xlabel('time'),
for i = 1:length(ax),
set(get(ax(i),'Ylabel'),'String',sprintf('signal %d',i));
end

### Cite As

Christos Saragiotis (2021). Plotstack (https://www.mathworks.com/matlabcentral/fileexchange/32028-plotstack), MATLAB Central File Exchange. Retrieved .

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