0

I've plotted two lines based on some scattered points, however, I now need to fill the area between the two lines.

counts_dataset = dataset('file','file.txt','Delimiter','\t');
x = counts_dataset.x;
y1 = counts_dataset.y1;
y2 = counts_dataset.y2;

line1 = line(x, y1,'Color', [.8 .8 .8])
line2 = line(x, y2,'Color', [.8 .8 .8])

I am now trying to fill in the region between the two lines as so:

fill([x fliplr(x)],[y2 fliplr(y1)],'c')

However, this gives me this plot:enter image description here

disregard the scatter points

Am I using the fill function incorrectly? How can I shade between the two lines?

Amro
  • 123,847
  • 25
  • 243
  • 454
interstellar
  • 389
  • 5
  • 13
  • related: http://stackoverflow.com/questions/7350140/two-time-series-plots-and-shading-between-them-matlab – Amro Apr 11 '16 at 20:49

1 Answers1

0

Probably you have some trouble with your data. The following code does exactly what you want:

x = 1:10;
y1 = sin(x) + 3;
y2 = sin(x);
fill([x fliplr(x)], [y2 fliplr(y1)], 'c')

Resulting plot

texnic
  • 3,959
  • 4
  • 42
  • 75