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?
24 ビュー (過去 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!