several shaded areas between temporal series

1 Ansicht (letzte 30 Tage)
Mireia Fontanet
Mireia Fontanet am 19 Dez. 2018
Kommentiert: Yingjun Zhang am 19 Jan. 2020
Dear,
I am trying to plot several shaded areas with diferent temporal series. I've copied my code and attached my result:
A=xlsread('T.xlsx');
x = A(:,1);
MZ1=A(:,2);
MZ2=A(:,3);
min1=A(:,7);
max1 = A(:,8);
min2=A(:,9);
max2 = A(:,10);
figure
plot(x,MZ1,x, min1, x, max1,x,min2,x,max2,x,MZ2);
fill([x.',fliplr(x.')], [min1.',fliplr(max1.')], 'r')
fill([x.',fliplr(x.')], [min2.',fliplr(max2.')], 'g')
I have 2 problems:
  1. The code represents just a shaded area (in this case I have two areas.)
  2. I have two lines, representing the max and min average. They are not represented by my code.
Thanks,
shadedarea.png
  1 Kommentar
Image Analyst
Image Analyst am 19 Dez. 2018
Bearbeitet: Image Analyst am 19 Dez. 2018
Where is the second area?
Exactly what does "the max and min average" mean? What is a "min average"?
In general, if you have two curves, you can have multiple areas
  1. The region above curve 1
  2. The region above curve 2
  3. The region above the curve that is topmost at any x location
  4. The region below curve 1
  5. The region below curve 2
  6. The region below the curve that is bottommost at any x location
  7. The in-between region where curve 1 is above curve 2
  8. The in-between region where curve 1 is below curve 2
  9. The in-between region regardless of which curve is on top.
Please tell us what numbers, from the list above, you want shaded, and which color should go with which numbered region.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Mireia Fontanet
Mireia Fontanet am 20 Dez. 2018
I explian what mean each colum and I have attached the excel file:
A=xlsread('T.xlsx');
x = A(:,1); %time
MZ1=A(:,2); %average area 1
MZ2=A(:,3); %average area 2
min1=A(:,4); %minimum value area 1
max1 = A(:,5); %maximum value area 1
min2=A(:,6); %minimum value area 2
max2 = A(:,7); %maximum value area 2
figure
plot(x,MZ1,x, min1, x, max1,x,min2,x,max2,x,MZ2);
fill([x.',fliplr(x.')], [min1.',fliplr(max1.')], 'r')
fill([x.',fliplr(x.')], [min2.',fliplr(max2.')], 'g')
  1 Kommentar
Yingjun Zhang
Yingjun Zhang am 19 Jan. 2020
Try below
fill([x.',fliplr(x.')], [min1.',fliplr(max1.')], 'r')
hold on
fill([x.',fliplr(x.')], [min2.',fliplr(max2.')], 'g')

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by