Drawing a rectangle over existing plot
Show older comments
I have a subplot in Matlab with two plots. (first picture) I want to draw boxes as seen in the second picture, for specific xvalue ranges. I tried annotation however it does not span all plots. Anybody able to help me?


3 Comments
Adam Danz
on 28 Jul 2020
" I tried annotation however it does not span all plots."
If that's the only problem, it sounds like you applied the annotation incorrectly. Annotation is the way to go.
gummiyummi
on 31 Jul 2020
That's a clearer problem; and a tough one.
The annotation function has been around for a long time and many people have requested that the function accept location values in data-units rather than normalized figure units. Obviously these wishes have never been granted.
See answer for a cleaner solution.
Accepted Answer
More Answers (1)
Vahidreza Jahanmard
on 14 Nov 2023
To plot the rectangles, you can use this:
% do all your plots
annotation('rectangle',[x y w h]);
for x, y, w, and h, you can plot one time and set the place of the rectangle manually and copy the position to your code
Categories
Find more on Axes Appearance in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
