how can I fill between two plot lines from a matrix?

Have loaded in my data and wanting the area between the two lines to be filled in. Lines have different values, not just flipped values! Code is below, thanks in advance.
naturalised=load('naturalised.csv')
max=plot(naturalised(:,1),naturalised(:,3))
min=plot(naturalised(:,1),naturalised(:,4))

 Akzeptierte Antwort

Star Strider
Star Strider am 6 Jan. 2019
You did not post your data, so we can only guess what ‘naturalised’ is, although we can correctly assume that you are plotting columns of ‘naturalised’.
Try this:
figure
max=plot(naturalised(:,1),naturalised(:,3));
hold on
min=plot(naturalised(:,1),naturalised(:,4));
patch([max.XData, fliplr(min.XData)], [max.YData, fliplr(min.YData)], 'm')
hold off
grid
This worked with test data:
naturalised = [(0:20); zeros(1,21); 1+rand(1, 21); 3+rand(1,21)]';
It will probably work with your data as well.

2 Kommentare

thank you, worked perfectly!
As always, my pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Creating, Deleting, and Querying Graphics Objects finden Sie in Hilfe-Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by