bugs about rectangle and hold in MATLAB R2020a

Recently I met a strange situation in MATLAB R2020a. To simplify the problem, I write an example script.
rectangle('Position',rand(1,4));
hold on;
plot(rand(),rand(),'o')
hold off;
Then, run the script for many times.
In MATLAB R2017a, the scipt plot a random rectangle and a random point each time you run the script, as expected.
But in MATLAB R2020a, the script add a random rectangle and a random point to the plot each time you run the script, as if the 'hold off' is uesless!
The problem is gone when I change the 'rectangle' function to another 'plot' function. So I think this may be a bug about 'rectangle' and 'hold' in R2020a.

 채택된 답변

Tanisha Gosain
Tanisha Gosain 2020년 6월 19일

1 개 추천

This behaviour is expected and correct. I also tried reproducing your code in R2017a and got the same results as R2020a.
The rectangle function plots into the current axes without clearing existing content from the axes. Please refer to the description subsection in the documentation of rectangle function: rectangle documentation.
To open a separate plot every time you run your code you can do this:
close all;
rectangle('Position',rand(1,4));
hold on;
plot(rand(),rand(),'o')
hold off;

댓글 수: 1

Tony Liu
Tony Liu 2020년 6월 21일
You solved my problems at all! I will read the documentation carefully the next time. My sincere gratitude.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Programming에 대해 자세히 알아보기

제품

릴리스

R2020a

태그

질문:

2020년 5월 9일

댓글:

2020년 6월 21일

Community Treasure Hunt

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

Start Hunting!

Translated by