Filling area between lines with color

1 Ansicht (letzte 30 Tage)
Sebastian Daneli
Sebastian Daneli am 18 Aug. 2021
Bearbeitet: Yazan am 18 Aug. 2021
I have this figure:
And I wish to fill the area between the two straight lines with a color. I've looked around and tried fill and patch, but they don't seem to work with my straight lines? The straight lines are created by:
Line1=0.1*ones(length(signal),1);
Line2=-Line1;
Any ideas what the problem is and how to solve it?
  3 Kommentare
Sebastian Daneli
Sebastian Daneli am 18 Aug. 2021
@Yazan, already have. Does not work with my lines.
Yazan
Yazan am 18 Aug. 2021
Bearbeitet: Yazan am 18 Aug. 2021
clc, clear
x = 1:100;
y1 = 0.1*ones(size(x));
y2 = -y1;
plot(x, y1), hold on, plot(x, y2)
xx = [x fliplr(x)];
yy = [y1, fliplr(y2)];
fill(xx, yy, 'g', 'FaceAlpha', 0.1, 'EdgeColor', 'none')
ylim([-1, 1])
That's exactly the answer here. Why it doesn't work?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Wan Ji
Wan Ji am 18 Aug. 2021
Bearbeitet: Wan Ji am 18 Aug. 2021
If your horizontal coordinates is t array, then patch or fill can help
maxTime = max(t(:));
patch([0, maxTime, maxTime, 0], [-0.1, -0.1, 0.1, 0.1], 'r', 'facealpha', 0.3, 'edgecolor','none')
Or fill command
maxTime = max(t(:));
fill([0, maxTime, maxTime, 0], [-0.1, -0.1, 0.1, 0.1], 'r', 'facealpha', 0.3, 'edgecolor','none')

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by