Filter löschen
Filter löschen

How can I set the transparency of LINE objects in MATLAB 7.14 (R2012a)?

1.340 Ansichten (letzte 30 Tage)
I would like to set the transparency of LINE objects in my figures. I use the ALPHA command to set the transparency of objects in my figure. However, LINE objects do not respect ALPHA values even though I am using the OPENGL renderer.

Akzeptierte Antwort

MathWorks Support Team
MathWorks Support Team am 25 Jun. 2012
Line series objects do not support transparency (alpha) values. The following workaround can be used to overcome this limitation:
1. Please refer to the following MATLAB Central link:
2. The above function can be used to introduce transparency in LINE objects as follows:
EXAMPLE 1:
n = 10;
xs = rand(n,1);
ys = rand(n,1);
zs = rand(n,1)*3;
plot3(xs,ys,zs,'r.')
xlabel('x');ylabel('y');zlabel('z');
p = patchline(xs,ys,zs,'linestyle','--','edgecolor','g','linewidth',3,'edgealpha',0.2);
EXAMPLE 2:
t = 0:pi/64:4*pi;
p(1) = patchline(t,sin(t),'edgecolor','b','linewidth',2,'edgealpha',0.5);
p(2) = patchline(t,cos(t),'edgecolor','r','linewidth',2,'edgealpha',0.5);
l = legend('sine(t)','cosine(t)');
tmp = sort(findobj(l,'type','patch'));
for ii = 1:numel(tmp)
set(tmp(ii),'facecolor',get(p(ii),'edgecolor'),'facealpha',get(p(ii),'edgealpha'),'edgecolor','none')
end
  2 Kommentare
Walter Roberson
Walter Roberson am 6 Nov. 2019
This is not the simplest approach, check fabian's answer below
Walter Roberson
Walter Roberson am 6 Nov. 2019
The question is specifically about R2012a, at which time the functionality described by Fabian did not exist.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Fabian
Fabian am 31 Jul. 2015
you could try setting a four-element vector for the color property of the line. works for me in 2014 b.
lh.Color=[0,0,0,0.5]
with lh handle to the line, producing a black line with transparency 0.5
  6 Kommentare
DGM
DGM am 3 Aug. 2022
I can't test anything beyond R2019b, but undocumented features are subject to change without notice; after all, if there's no documentation, the changes aren't documented either.
Star Strider
Star Strider am 3 Aug. 2022
The 4-element colour vector seems to work in R2022a
x = 0:0.01:2*pi;
y = sin(x);
figure
plot(x, y, '-', 'Color',[0.2 0.5 0.9 0.8], 'LineWidth',2.5) % Alpha = 0.8
hold on
plot(x, y+0.25, '-', 'Color',[0.2 0.5 0.9 0.2], 'LineWidth',2.5) % Alpha = 0.2
hold off
.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Graphics Performance finden Sie in Help Center und File Exchange

Tags

Noch keine Tags eingegeben.

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by