Filling area between lines with color

1 vue (au cours des 30 derniers jours)
Sebastian Daneli
Sebastian Daneli le 18 Août 2021
Modifié(e) : Yazan le 18 Août 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 commentaires
Sebastian Daneli
Sebastian Daneli le 18 Août 2021
@Yazan, already have. Does not work with my lines.
Yazan
Yazan le 18 Août 2021
Modifié(e) : Yazan le 18 Août 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?

Connectez-vous pour commenter.

Réponse acceptée

Wan Ji
Wan Ji le 18 Août 2021
Modifié(e) : Wan Ji le 18 Août 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')
  1 commentaire
Sebastian Daneli
Sebastian Daneli le 18 Août 2021
Thx, this should work.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Graphics Performance dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by