Fill the patch between 2 X limits

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')

 Risposta accettata

Walter Roberson
Walter Roberson il 20 Feb 2018

0 voti

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.)

2 Commenti

yeah, I know the points where I want to draw the "arrow", but I can't get the points like I want

Accedi per commentare.

Più risposte (1)

Sagar Shah
Sagar Shah il 27 Feb 2019

0 voti

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 Commenti

i tried the "annotation" tool, but its normalized so i couldn't work properly so i dropped it
The File Exchange contribution I posted a link to converts coordinates to make it possible to use data coordinates instead of figure coordinates.

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by