setting transparancy of legend?

Is it possible to make the background of the legend be slighly transparent so that the lines behind it can be somewat visible?

1 Comment

I will not say that it is impossible at the moment. It is certainly not documented. You just might be able to change it using one of the hidden properties of the legend. Perhaps one of the ColorSpace properties. Nothing I have tried has worked yet.

Sign in to comment.

 Accepted Answer

Starting in R2024a, legend supports the ability to control the level of transparency with the BackgroundAlpha property. Below is a short example:
plot(magic(7));
grid on;
set(gca, 'Color', [.88 .88 .88]);
l = legend(BackgroundAlpha=.7);
Setting the value to 0 will make it fully transparent and a value 1 of will make it fully opaque which is the default behavior.
Rectangle also has a new FaceAlpha property and you can read more about both in this blog post.
Other answers in this thread address solutions prior to R2024a.

More Answers (3)

This solution seems to work in Matlab 2020 +
h_leg.BoxFace.ColorType='truecoloralpha';
h_leg.BoxFace.ColorData=uint8(255*[1 1 1 0.75]');
where h_leg is your legend box handle.
Wilson A N
Wilson A N on 16 Jan 2017
Edited: Walter Roberson on 16 Jan 2017
You can refer to the link given below on how to set the different properties of legend
To change the background color of the legend you can change the 'Color' field to achieve the required transparency.

3 Comments

Walter Roberson
Walter Roberson on 16 Jan 2017
Edited: Walter Roberson on 16 Jan 2017
Unfortunately changing the Color property does not allow you to set transparency: it is still going to completely hide any line underneath.
There are some parts of HG2 which have quietly introduced allowing a quad to be specified instead of a color triple in order to put in transparency, but unfortunately legends do not have that as yet.
Any news on this?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!