I am using the patch function and I am trying to set a FaceColor in 2017a and nothing is working. Does anyone have any suggestions?
7 次查看(过去 30 天)
显示 更早的评论
p = patch(px,py,1);
get(p)
set(p,'FaceColor','b')
drawnow
p.FaceAlpha = 1;
drawnow
0 个评论
采纳的回答
Prashant Arora
2017-10-16
Hi Rashida,
The reason you are seeing this behavior is because MATLAB could not create a face given vertices coordinates as "px,py". This is why you are observing no affect by changing the FaceColor.
As an example, check the following code:
r = 1;
theta = 0:pi/100:2*pi;
x = r*cos(theta);
y = r*sin(theta);
p = patch(x,y,1);
set(p ,'FaceColor', 'r')
If you have information about which vertices should be connected to form a face, you should use the patch in the following manner:
v = [0 0; 1 0; 1 1; 0 1];
f = [1 2 3 4];
patch('Faces',f,'Vertices',v,'FaceColor','red');
Here the variable f defines that MATLAB should connect vertices 1->2->3->4 to create a face. Here 2 refers to the second row of variable v and so on.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Polygons 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!