How do I add transparency to a plot in the Live Editor?
Mostra commenti meno recenti
Hey all,
if I use the following code in the Command Window, I get a very transparent, red X:
plot([0, 1],[0, 1; 1, 0], 'Color', [1 0 0 .1])
Yet, if I use the same line in the live editor, I get a non-transparent X. How do I add transparency to a plot in the Live Editor?
Best regards,
Martin
2 Commenti
It's a bit surprising to me that your code doesn't produce an error message. Did you intend to specify the color with 4 numbers
'Color' ,[1 0 0 .1]
or was it really supposed to be [1,0,0.1] ?
Martin Bergerhausen
il 17 Feb 2024
Risposta accettata
Più risposte (3)
Walter Roberson
il 17 Feb 2024
1 voto
Unfortunately, the hack of using a 4-element Color does not work in LiveScript.
The work-around is to set the figure Visible property to 'on', which will result in the figure popping out to be plotted out-of-line.
The syntax of giving an RGBA color setting seems to be a very old and undocumented feature,
which means you cannot rely on it, especially not for newer environments like the Live Editor.
You can fake a transparency effect by rendering the line as a dense scatter plot, e.g.,
x=linspace(0,1,1e4);
y=x.^2;
scatter(x,y,'r','filled','MarkerFaceAlpha',0.015, 'MarkerEdgeColor','none', 'SizeData',1)
1 Commento
Walter Roberson
il 17 Feb 2024
Using RGBA for color is new as of HG2, and it's use has been expanded as time goes on. But it is undocumented and so not reliable.
I find that this makes the lines dim in the Live Editor, like they appear in your post -
plot([0, 1],[0, 1; 1, 0], 'Color', [1 0.8 0.8])
But, making the lines dim is not the same as making them transparent. You won't see objects behind the lines any better if you were to overlay the plot on something else, for example.
1 Commento
Martin Bergerhausen
il 17 Feb 2024
Categorie
Scopri di più su Surface and Mesh Plots in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

