How to fill the plot to some specific value

1 view (last 30 days)
Like this plot, fill the curve to some specific y value

Accepted Answer

Star Strider
Star Strider on 27 Jan 2024
Edited: Star Strider on 27 Jan 2024
Try this —
t = linspace(0, 2*pi, 500);
s = sin(t);
figure
plot(t, s, 'LineWidth',1.5)
Lv1 = s >= 0.5;
Lv2 = s <= -0.5;
hold on
patch([t(Lv1) flip(t(Lv1))], [0.5*ones(size(s(Lv1))) flip(s(Lv1))], 'b', 'FaceAlpha',0.25, 'EdgeColor','none')
patch([t(Lv2) flip(t(Lv2))], [-0.5*ones(size(s(Lv2))) flip(s(Lv2))], 'b', 'FaceAlpha',0.25, 'EdgeColor','none')
hold off
Ax = gca;
Ax.XAxisLocation = 'origin';
Ax.XMinorTick = 'on';
Ax.YMinorTick = 'on';
Make appropriate changes to get the result you want.
EDIT — Added minor ticks.
.

More Answers (0)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!