Azzera filtri
Azzera filtri

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

1 visualizzazione (ultimi 30 giorni)
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))

Risposta accettata

Star Strider
Star Strider il 6 Gen 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.

Più risposte (0)

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by