How do I translate RGB color to a color on my patch Object?

9 views (last 30 days)
X = [0 0 5; 0 0 5; 4 4 9];
Y = [0 4 0; 3 7 3; 0 4 0];
C = [0; .2422; 1];
figure
patch(X,Y,C);
Can anyone please help me find out how this value "0.2422" translates to its corresponding RGB value.
Matlab Documentation (" https://www.mathworks.com/help/matlab/creating_plots/how-patch-data-relates-to-a-colormap.html ") is not of much use in this directtion as well.!!

Accepted Answer

KSSV
KSSV on 7 Jun 2017
Edited: KSSV on 7 Jun 2017
X = [0 0 5; 0 0 5; 4 4 9];
Y = [0 4 0; 3 7 3; 0 4 0];
figure
mycolor = 'r' ; % you can use 'r','b','g','c','m','k', etc..
patch(X,Y,mycolor);
  1 Comment
Abhay Aradhya
Abhay Aradhya on 7 Jun 2017
Thank you that worked. But I wanted the RBG values to the color being put in.
X = [0 0 5; 0 0 5; 4 4 9];
Y = [0 4 0; 3 7 3; 0 4 0];
figure
mycolor = [1 0.76 0]
patch(X,Y,mycolor);
This did the tric

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 7 Jun 2017
Cdatamapping defaults to scaled. You end up about 1/4 of the way through the color map.
  2 Comments
Abhay Aradhya
Abhay Aradhya on 7 Jun 2017
Walter found a way to get it done
X = [0 0 5; 0 0 5; 4 4 9];
Y = [0 4 0; 3 7 3; 0 4 0];
figure
mycolor = [1 0.76 0]
patch(X,Y,mycolor);
This will assign the same color to all the triangles in this case. If you need to assign different colors then just pass the "patch" line through a loop and assign different colors to it. You could make a array of colors if that helps and loop it through.
Walter Roberson
Walter Roberson on 7 Jun 2017
This is a different question than what you asked. You were asking how MATLAB determined which color got plotted given a particular data value, not how to force a particular face or edge to be a particular color.

Sign in to comment.

Categories

Find more on Graphics Object Programming in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!