Fill the patch between 2 X limits

1 view (last 30 days)
Hello, I got Picture 1 and my goal was to create Picture 2 ideally, if not possible Picture 3. My objective is to create a legend for the red part of the plot, ideally, an arrow between the 2 limits would be awesome. Thanks
I am open to other suggestion to make a legend of that specific part. Thank you
figure
%Plot something
plot(1:10)
% Add lines
h1 = line([2 2],[1 10]);
h2 = line([5 5],[1 10]);
% Set properties of lines
set([h1 h2],'Color','k','LineWidth',2)
% Add a patch
patch([2 5 5 2],[1 1 10 10],'red')

Accepted Answer

Walter Roberson
Walter Roberson on 20 Feb 2018
You could consider using annotation('doublearrow'). But watch out: the coordinates by default are normalized to the figure, so you can have to go through some steps to get them relative to the axes (and then you have to re-calculate if the axes gets resized or panned.)

More Answers (1)

Sagar Shah
Sagar Shah on 27 Feb 2019
Did you get proper answer or code for that? Currently, I need the same arrow indication as you needed.
Can you please share information?
  2 Comments
Tiago Dias
Tiago Dias on 27 Feb 2019
i tried the "annotation" tool, but its normalized so i couldn't work properly so i dropped it
Walter Roberson
Walter Roberson on 27 Feb 2019
The File Exchange contribution I posted a link to converts coordinates to make it possible to use data coordinates instead of figure coordinates.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!