How to fill plot between two lines
18 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Fabian Moreno
il 14 Apr 2021
Commentato: Star Strider
il 14 Apr 2021
Hi there, I would like to know how to fill the area with one color (blues) if the area isabove the line and another color (red) if the area is under the line between two lines. I already make a code, but I couldn't fill the area under the line. I add my matrix in (.mat). I´m working with values in column five and six.Also I add my code and the image of what I get so far. Thank in advanced.
max=plot(data(:,1),data(:,5),'-k','LineWidth',3);grid on
xlim([data(1,1) data(365,1)]);
xticks([data(1) data(32) data(60) data(91) data(121) data(152) data(182) data(213) data(244) data(274) data(305) data(335)])
xticklabels({'Jan','Fev','Mar','Abr','Mai','Jun','Jul','Ago','Set','Out','Nov','Dez','Jan,20','Fev'})
ylabel('Accumulated precipitation [mm]')
xlabel('Month [daily data]')
hold on
min=plot(data(:,1),data(:,6),'-r');grid on
patch([max.XData, fliplr(min.XData)], [max.YData, fliplr(min.YData)], 'b')
hold off
0 Commenti
Risposta accettata
Star Strider
il 14 Apr 2021
If I understand the objective correctly, this should work:
DL = load('data1.mat');
data = DL.data;
max=plot(data(:,1),data(:,5),'-k','LineWidth',3);grid on
xlim([data(1,1) data(365,1)]);
xticks([data(1) data(32) data(60) data(91) data(121) data(152) data(182) data(213) data(244) data(274) data(305) data(335)])
xticklabels({'Jan','Fev','Mar','Abr','Mai','Jun','Jul','Ago','Set','Out','Nov','Dez','Jan,20','Fev'})
ylabel('Accumulated precipitation [mm]')
xlabel('Month [daily data]')
hold on
min=plot(data(:,1),data(:,6),'-r');
above = min.YData > max.YData; % Logical Vector
patch([max.XData(above), fliplr(min.XData(above))], [max.YData(above), fliplr(min.YData(above))], 'b') % Blue Area
patch([max.XData(~above), fliplr(min.XData(~above))], [max.YData(~above), fliplr(min.YData(~above))], 'r') % Red Area
hold off
grid on
It adds a logical vector (‘above’), then uses that to colour the areas appropriately. The rest of the code is unchanged.
9 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Line Plots 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!