Filter löschen
Filter löschen

shade area between two yline

39 Ansichten (letzte 30 Tage)
Ham Man
Ham Man am 30 Aug. 2022
Kommentiert: Ham Man am 31 Aug. 2022
I want to shade the area between two yline:
p1 = yline(5,'-','color',[177 177 177]./255,'LineWidth',2);hold on
p2 = yline(4,'-','color',[177 177 177]./255,'LineWidth',2);hold on
x = 0:2200;
x2 = [x, fliplr(x)];
inBetween = [p1, fliplr(p2)];
fill(x2, inBetween, 'gray');hold on;
Since x2 and inbetween are not in the same size, my code does not work. How can I change it to gt the shaded area?
Thank you for any help

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 30 Aug. 2022
You cannot fill between yline() or xline().
yline() and xline() are reference lines that cross the entire axes and logically continue to +/- infinity. If you pan or zoom, yline() and xline() continue to be shown even if there is no data in the new area.
fill(), however, is always implemented as a closed bounded area -- something that can zoom or pan away.
I suggest you
fill(x([1 end end 1 1]), [4 4 5 5 4], 'gray')
  3 Kommentare
Walter Roberson
Walter Roberson am 30 Aug. 2022
Bearbeitet: Walter Roberson am 30 Aug. 2022
x = sort(rand(1,20));
fill(x([1 end end 1 1]), [4 4 5 5 4], [.8 .8 .8])
Ham Man
Ham Man am 31 Aug. 2022
Thank you so much Walter! It works well

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 30 Aug. 2022

Kategorien

Mehr zu Geometric Transformation and Image Registration finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by