bugs about rectangle and hold in MATLAB R2020a

2 次查看(过去 30 天)
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
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 个)

类别

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

标签

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by