get alpha (color) value of a line

8 views (last 30 days)
Ali Hilo
Ali Hilo on 27 Sep 2022
Commented: Rik on 27 Sep 2022
i need to copy a line to another plot, the copied line have alpha color value (Transperency / grey visibility) :
when drawing the line I use :
>> plot(...,'Color',[Color_Vect , Alpha],'LineWidth',10)
Color_Vect : vector of the colors i.e. [ 1 0 0] . Alpha =0.2.
in another section, when i need to copy the line to another plot I want to extract the alpha value of the line to add it to the new line.
I've been searching in all the values of the Line handles but couldnt find any aplha value.
do anyone knows were is this value stored ??
Thank you

Accepted Answer

Rik
Rik on 27 Sep 2022
Edited: Rik on 27 Sep 2022
I have no clue why this is hidden, but converting the object to a struct and hunting for a few appropriate candidates I found that h.Edge.ColorData was a 4x1 uint8.
h=plot(rand(1,10),1:10,'Color',[1 0 0 0.2],'LineWidth',10);
warning('off','MATLAB:structOnObject')
h_=struct(h);h_.Edge.ColorData ,close
Warning: The LineSmoothing property will be removed in a future release.
Warning: The EraseMode property is no longer supported and will error in a future release.
ans = 4×1
255 0 0 51
Note that this is undocumented, and may be specific to a release and/or OS. This works on my Windows copy, as well as online, but it might only work for R2022b, you'll have to test this on R2019a yourself. Just look for anything that might fit after converting the object to a struct.
  2 Comments
Rik
Rik on 27 Sep 2022
You're welcome.
I did a quick test, and it appears this works on R2020b and later (at least on Windows).

Sign in to comment.

More Answers (0)

Categories

Find more on Line Plots in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by