Filling area between lines with color

조회 수: 1 (최근 30일)
Sebastian Daneli
Sebastian Daneli 2021년 8월 18일
편집: Yazan 2021년 8월 18일
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
Sebastian Daneli
Sebastian Daneli 2021년 8월 18일
@Yazan, already have. Does not work with my lines.
Yazan
Yazan 2021년 8월 18일
편집: Yazan 2021년 8월 18일
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?

댓글을 달려면 로그인하십시오.

채택된 답변

Wan Ji
Wan Ji 2021년 8월 18일
편집: Wan Ji 2021년 8월 18일
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')

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Annotations에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by