MATLAB Answers

return the row and column number of the current subplot

10 views (last 30 days)
is there a property of `gca` that will return the row and column number of the current subplot?
e.g., I'd like a command that returns 2,3 if I'm at `subplot(3,4,7)` indicating that I'm at the second row, third column, etc
Obviously I can do some arithmetic on the 3 arguments of subplot, but it would be much cleaner if matlab provided the answer for me.
The reason I need this is that I want to insert a ylabel only if I'm in the first column and an xlabel only if I'm at the bottom row, so I'd like to be able to condition the xlabel and ylabel commands on these properties. Maybe there's another way to do this?
Thanks!
Leo

Accepted Answer

Walter Roberson
Walter Roberson on 12 Nov 2016
For the 3 x 4 array of subplots, index number 7:
[colnum, rownum] = ind2sub([4, 3], 7)
Notice that the normal use of ind2sub would be
[rownum, colnum] = ind2sub([3, 4], 7)
However, subplot is an exception in that it counts across rather than down
MATLAB does not provide any call like
[rownum, column] = current_subplot() %not a real thing

More Answers (0)

Community Treasure Hunt

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

Start Hunting!