numSubplots - neatly arrange subplots

Calculate how many rows and columns of sub-plots are needed to neatly display n subplots.


Updated 7 Jan 2010

View License

Sometimes a graphing function will not know in advance how many sub-plots are to be created. In this case hard-coding the number of rows and columns for the subplot command may not be possible. This function produces reasonable values for the row and column inputs to subplot given the number of desired sub-plots.

function [p,n]=numSubplots(n)

n - the desired number of subplots.

p - a vector length 2 defining the number of rows and number of columns required to show n plots.
[ n - the current number of subplots. This output is used only by this function for a recursive call.]

Example: neatly lay out 13 sub-plots
>> p=numSubplots(13)
p =
3 5
for i=1:13; subplot(p(1),p(2),i), pcolor(rand(10)), end

Cite As

Rob Campbell (2023). numSubplots - neatly arrange subplots (, MATLAB Central File Exchange. Retrieved .

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

Inspired: BestArrayDims

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes