Filling plot between two curves

12 visualizaciones (últimos 30 días)
James Parkinson
James Parkinson el 28 de Mzo. de 2020
Comentada: Tommy el 28 de Mzo. de 2020
I have two functions (BLOCK1ROWAVG and BLOCK5ROWAVG) that both have standard error values (curve#). The standard error lines will wrap the respective mean functions and I want to fill that area between the standard error, but everytime I try it the fill carries all the way to the x-axis. How do I fix my code? (if needed, you can use a function like y=x and y=x+5 with SEs of +/-1 to illustrate)
curve1 = BLOCK1ROWAVG + BLOCK1SE;
curve2 = BLOCK1ROWAVG - BLOCK1SE;
curve3 = BLOCK5ROWAVG + BLOCK5SE;
curve4 = BLOCK5ROWAVG - BLOCK5SE;
x=transpose(1:8000);
x2=[x,fliplr(x)];
inBetween1=[curve1,fliplr(curve2)];
inBetween2=[curve3,fliplr(curve4)];
%PLOT
hold all
BLOCK1 = plot(BLOCK1ROWAVG, 'r', 'LineWidth', 2);
BLOCK5 = plot(BLOCK5ROWAVG, 'b', 'LineWidth', 2);
plot(curve1,'k','LineWidth', 1);
plot(curve2,'k','LineWidth', 1);
plot(curve3,'k','LineWidth', 1);
plot(curve4,'k','LineWidth', 1);
a=fill(x2,inBetween1,'k');
set(a,'Facealpha',0.1)
b=fill(x2,inBetween2,'k');
set(b,'Facealpha',0.25)
hold off
grid on
  4 comentarios
James Parkinson
James Parkinson el 28 de Mzo. de 2020
It worked. Thank you!
Tommy
Tommy el 28 de Mzo. de 2020
Awesome no problem!

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Simulink Functions en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by