Patch : intersecting polygon regions leaving holes at intersections.

3 次查看(过去 30 天)
I created a function which plots a line with variable thickness along the array. I am using Patch for that. The problem is those areas which I marked with red circles. How do I get rid of those holes (white areas) and make it same color as the line?

回答(1 个)

Avni Agrawal
Avni Agrawal 2023-9-25
编辑:Avni Agrawal 2023-9-25
Hi Chirag,
I understand that you are facing an issue with existing white area at the intersection while using patch function.
You can try implementing below code where there are no such holes, and the continuous line only exists.
x = [-7 0 7 -9 9 -7];
y = [-7 9 -7 4 4 -7];
hold on
for i=1:5
r = randi([1 10],1); % random line width generator
patch([x(i) x(i+1)], [y(i) y(i+1)],'b','EdgeColor','k','FaceColor','none','LineWidth', r);
end
hold off
Please refer to the patch documentation for further assistance.
  1 个评论
Dyuman Joshi
Dyuman Joshi 2023-9-25
patch() is not needed here -
x = [-7 0 7 -9 9 -7];
y = [-7 9 -7 4 4 -7];
figure
hold on
for i=1:numel(x)-1
r = randi(10); % random line width generator
plot([x(i) x(i+1)], [y(i) y(i+1)],'k-','LineWidth', r);
end
hold off

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Polygons 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by