How can I make the 'plot' function markers and lines transparent using 'alpha' or otherwise?

Illustration
Aayushsingh - 2020-08-04T09:54:28+00:00
Question: How can I make the 'plot' function markers and lines transparent using 'alpha' or otherwise?

I want to make a plot with semi-transparent markers and lines using 'plot' and 'alpha', but it's not working. Why?

Expert Answer

Profile picture of Prashant Kumar Prashant Kumar answered . 2025-11-20

Basic 'plot' function markers do not currently support transparency or alpha values. If you would like to make a scatter plot with transparent markers, it is suggested that you use the 'scatter' function and use either 'alpha' or set the value of the property 'MarkerFaceAlpha':

 

scatter1 = scatter(x,y,'MarkerFaceColor','r','MarkerEdgeColor','k'); 
% Set property MarkerFaceAlpha and MarkerEdgeAlpha to <1.0
scatter1.MarkerFaceAlpha = .2;
scatter1.MarkerEdgeAlpha = .2;

or:

 

scatter1 = scatter(x,y,'MarkerFaceColor','r','MarkerEdgeColor','k'); 
alpha(scatter1,.2)

If you would like to have a line plot using 'plot' with transparent markers on top, you can simply use 'hold on/off' and 'scatter' in conjunction for the same desired effect:

plot(x,y);
hold on
scatter1 = scatter(x,y,'MarkerFaceColor','r','MarkerEdgeColor','k'); 
scatter1.MarkerFaceAlpha = .2;
hold off

You can also change the transparency of the lines generated by 'plot' by appending the 'Color' property with an alpha value:

plot1 = plot(x,y);
plot1.Color(4) = 0.2;

Please see the "Input Arguments" list for the property 'value' on the documentation page for 'alpha' for a list of graphics objects that support face transparency:


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!