File Exchange

image thumbnail

bordertext( varargin )

version (25.6 KB) by Jan de Wilde
Place text on borders of the figure, border of the subplots, on the inner-side or outer-side.


Updated 23 Oct 2016

View Version History

View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

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)

Cite As

Jan de Wilde (2021). bordertext( varargin ) (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (15)


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.
Any ideas?


never mind my earlier comment, I see you have added an offsetx and offsety. I don't quite understand what margin does?!


Hi Jan,
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?

kind regards


Hi Jan,

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.


Hey Jan,
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

Henry Wolkowicz


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.


Jan de Wilde

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.


Another idea:
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


great tool!!!
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.
'BackgroundColor', 'red'

... I guess it'll be hard to memorize the syntax otherwise.

Something else:
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.

chang hsiung

thanks, this will be quite handy.

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

Community Treasure Hunt

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

Start Hunting!