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

8 次查看(过去 30 天)
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.!!

采纳的回答

KSSV
KSSV 2017-6-7
编辑:KSSV 2017-6-7
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 个评论
Abhay Aradhya
Abhay Aradhya 2017-6-7
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

请先登录,再进行评论。

更多回答(1 个)

Walter Roberson
Walter Roberson 2017-6-7
Cdatamapping defaults to scaled. You end up about 1/4 of the way through the color map.
  2 个评论
Abhay Aradhya
Abhay Aradhya 2017-6-7
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 2017-6-7
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Graphics Object Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by