Place text on borders of the figure, border of the subplots, on the inner-side or outer-side. Also control the most important text-properties with one simple FormatString.
Text stays on the borders, even while zooming, panning, etc.
Try 'bordertext' without arguments to see the demo (figure is added as screenshot)
Jan de Wilde (2019). bordertext( varargin ) (https://www.mathworks.com/matlabcentral/fileexchange/41475-bordertext-varargin), MATLAB Central File Exchange. Retrieved .
one thing I did discover: when applying 'axis image' or 'axis square" to axis, even before using borderplot, the text is not aligned properly, always reaching out of the bounds of the axis.
never mind my earlier comment, I see you have added an offsetx and offsety. I don't quite understand what margin does?!
I've discovered a strange behavior. If I export the figure the bordertext (innertopleft i.e.) is wrongly positioned (goes over the edge of the plot). If I move the mouse over the figure, the bordertext is repositioned correctly.
I tried to refresh the figure before exporting but it doesn't help, only mouseover seems to correctly position the bordertext.
Any idea how to fix this?
can you please comment on my request from one year ago? In your examples you have a 'margin' option, yet it doesn't seem to do anything, at least not in the way I would expect it to.
I'm still looking for a way to add a distance between the axis box and the bordertext. At the moment, there is no gap and the text is in direct contact with the box.
kind regards, arnold.
Thanks for your good work.
any Chance you can add that padding function? I've looked around the code, it's very well written, but I can't seem to find a way to implement it.
This is super; thanks Jan for bringing to us
here is what I mean by 'padding'. This is what it looks like right now:
This is what I mean by 'padding':
I think this would really help with readability. If one could set a margin of several pixels so the text wasn't touching the axis.
thanks Jan. Having the standard matlab syntax available is awesome.
Have you thought about a 'padding'?
The Text Property 'margin' doesn't work since it expands around the text, so maybe you can correct the position by the margin size.
Thank you Arnold for your comment (and rating). I've solved the background overlap and I added the matlab syntax.
Your other suggestion to add transparency to the text background is impossible, because the text object has no BackgroundAlpha property.
If you added a "padding" to your positions, this could solve the problem of the background/text overlapping with the axis borderlines. I think it would also look nicer in some cases
It would be even better if you could add transparency/alpha to the background-color and bordercolor so one can still see data behind the box.
It would also be a little more intuitive if it used the standard syntax for all the coloring and stuff, i.e.
... I guess it'll be hard to memorize the syntax otherwise.
When placing Text with a background at 'innertopright' for example, it extends over the axis box line. Would be great if that didn't happen for all Positions.
thanks, this will be quite handy.
Update for HG2
Bugfix for R2014b; HandleGraphics2 (zooming,panning etc was not working anymore)
Some speed optimizations.
Background of the text doesn't overlap the axis anymore.