Easy way to make text semitransparent?

Hi all,
Is there an easy way to make text semitransparent in MATLAB? For instance, if I wanted a textbox label on a graph to be only partially transparent, is there any property to adjust, similar to 'AlphaData' for images?
Thanks!

1 Comment

You could change the color of the text by 'color',[0.8,0.8,0.8]
It's not transparent but assuming that you have a white background it is slightly grey to white and looks transparent.

Sign in to comment.

 Accepted Answer

Unfortunately No. You have to convert the text to a bitmap and display it as an image (or surface) with appropriate transparency.
There are contributions in the FEX to assist with converting text to image.

3 Comments

Rats. I was afraid of that. Thanks for the response!
It is crazy to see that this is still an issue in 2022... :(
Lots of things are crazy.

Sign in to comment.

More Answers (1)

Well, not exactly transparent I guess. But if your plot window is white, you could brighten the font up, so it looks transparent...
my_color = [0 0 1]; % [r g b] => blue
text(2, 1, 'normal text', 'Color', my_color);
opacity = 0.4; % 40 percent visible = mainly transparent
text(2, 1.5, 'kinda transparent text', 'Color', (1 - opacity * (1 - my_color)));
I'm sure someone will also find a way for non-white backgrounds...

2 Comments

Works great. Thank you!
for non white bachground you can just take the color of the background and do a convex combination with the text color.
probably something like
f_color = get(gcf,'Color')

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!