This function returns the position of the plotted region of an axis, which may differ from the actual axis position, depending on the axis limits, data aspect ratio, and plot box aspect ratio. The position is returned in the same units as the those used to define the axis itself. This function can only be used for a 2D plot.
Kelly Kearney (2021). plotboxpos (https://github.com/kakearney/plotboxpos-pkg), GitHub. Retrieved .
Inspired: gramm (complete data visualization toolbox, ggplot2/R-like), offsetAxes(ax), label, Antarctic Mapping Tools
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Create scripts with code, output, and formatted text in a single executable document.
Thanks for this incredibly useful function. I spent most of yesterday tearing my hair out with an image display, that I had positioned to maintain the aspect ratio, trying to position text just below it. Your function is exactly what I need.
Great function! Exactly what I needed!
Thank you very much, it is precisely what I needed.
This is a very useful function. Thanks for making it available. It would be really great if you could suggest how to modify this to include xlabel, ylabel, title and and as well as colorbars in the current axis position. I succeeded in including xlabel, ylabel and title by using "TightInset" property, but i am unable to find anyway to include colorbar.
Is there any way to view the readme file for plotboxpos that does NOT require using GitHub?
Just what I needed. Neatly coded. Thanks.
@Dmitry,
As noted in the help, this function is only intended for 2D plots. The math gets much messier for 3D; if someone else wants to figure those calculations out I'd be happy to incorporate them, but I don't really have the motivation to do so myself. I've updated the description on this page to reflect this limitation.
Nice function, but it does not work for 3d plots with daspect([1 1 1]) !
Please ignore my previous comment. It DOES work with colorbar present.
This function does a great job. However, when the colorbar is present in the figure, the function returns the plotted axis region as if a colorbar doesn't exist. I was graphing a pcolor plot with the colorbar on when I discovered this.
Nice Tool!
Saves me lot of time, thanks!
Brilliant little function. Cheers!
Thank you Kelly for solving a problem I've had for months. This function is well written. You've saved me a world of headaches.
Works as advertised - thanks.
Thanks so much. That's awesome!
This is fantastic. Thanks.
Finds the position of the axes after modifying the DataAspectRatio and PlotBoxAspectRatio. This is exactly what I need, thanks!
Very useful function, thanks.
It's missing only a little test like:
if nargin < 1
h = gca;
end
and your function becomes perfect !
Thanks again.
Carlos, getInUnits.m is available in the File Exchange: (http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=8898&objectType=file). Sorry for the confusion; I will update the documentation on this page to clarify this.
Kelly, getInUnits does not exist, as far as I can tall, as a MATLAB function.