I use the following to create a rectangular box using PATCH,
patch([7 7 5 5], [5 7 7 5], 'r')
axis([0 10 0 10])
I want round corners. I have tried the property LineJoin but it does not do anything.
h.LineJoin = 'round';
So is this possible?

 Akzeptierte Antwort

Matt J
Matt J am 22 Mär. 2022
Bearbeitet: Matt J am 22 Mär. 2022

0 Stimmen

You can with polyshape,
h=polybuffer( polyshape([7 7 5 5], [5 7 7 5]),0.5);
plot(h,'FaceColor','r', 'FaceAlpha',0.5)

1 Kommentar

Great. Thank you.
Also I can control transparency.
plot(h, 'FaceAlpha', 0.1)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Les Beckham
Les Beckham am 22 Mär. 2022
Bearbeitet: Les Beckham am 22 Mär. 2022

1 Stimme

Try this. Adjust the 'curvature' value to adjust the ratio of the round corners to the size of the rectangle (1.0 will result in a circle).
rectangle('position', [5 5 2 2], 'curvature', 0.2, 'facecolor', 'r')
axis equal
axis([0 10 0 10])

4 Kommentare

Kevin
Kevin am 22 Mär. 2022
Actually I also want to adjust transparency (i.e. alpha).
I can adjust alpha property with patch but not with rectangle.
Les Beckham
Les Beckham am 22 Mär. 2022
Bearbeitet: Les Beckham am 22 Mär. 2022
Actually, you can. Use a four element color specification. The fourth element is the alpha.
r = rectangle('position', [5 5 2 2], 'curvature', 0.2, 'facecolor', [1 0 0 0.2]);
axis equal
axis([0 10 0 10])
Kevin
Kevin am 22 Mär. 2022
I see. But the forth element is not mentioned in the DOC.
I am hoping that this is not an undocumented feature and it may get removed in the future.
But thanks for mentioning this. I have learnt something new today. Great.
Les Beckham
Les Beckham am 22 Mär. 2022
You are welcome.
I did too! I wasn't aware of polyshape or polybuffer. Apparently those were added during the several years that I didn't have a copy of Matlab.

Melden Sie sich an, um zu kommentieren.

Produkte

Version

R2022a

Gefragt:

am 22 Mär. 2022

Kommentiert:

am 22 Mär. 2022

Community Treasure Hunt

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

Start Hunting!

Translated by