Shading an area between two intervals on a plot
62 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi everyone.
I have a vector of length 100 which I have plotted to yield a graph. I would like to shade the area under the graph segmented by the two lines using the area function.
I have tried the following code and it is unfortunate that it sheds the whole area. Any help will be appreciated.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/343480/image.png)
iz=linspace(15,20,6); % iz is the interval between the two xlines
yz=(FF(:,15:20)); % FF is the vector that generates the plot
area(iz,yz) % this should give me the area between two, shaded
Any corrections or better pointers are welcome.
2 commentaires
Réponse acceptée
Star Strider
le 9 Août 2020
It is likely not possible to use area for this, since that is not how it was designed to be used.
Try this:
x = linspace(0, 100);
y = x.*exp(-0.07*x);
figure
plot(x, y)
q2 = ylim;
hold on
L = (x>15) & (x<20);
patch([x(L) fliplr(x(L))], [y(L), ones(1,nnz(L))*min(ylim)],'r')
hold off
grid
.
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Line Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!