Shading area under the curve
249 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Youngmin
el 16 de Mayo de 2020
Comentada: Youngmin
el 16 de Mayo de 2020
Hello,
I am struggling with shading area under the curve at the selected area. I wanted to fill the area over Body Weight line. I have attached my code and the screenshot of the plot.
x = 0:2500;
Lvy = (611 <= x)&(vgrf2 >= bw) & (x < 794);
figure(1)
plot(x,vgrf2,'k')
hold on;
xline(lcom,'k--','Lowest COM position','LabelHorizontalAlignment','center',...
'LabelOrientation','horizontal');
yline(bw,'k--',{'Body','Weight'},'LabelHorizontalAlignment','left',...
'LabelVerticalAlignment','middle');
patch([x(Lvy) fliplr(x(Lvy))], [ones(size(x(Lvy))) fliplr(vgrf2(Lvy))], 'g')
hold off;
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/293382/image.jpeg)
2 comentarios
Respuesta aceptada
Mehmed Saad
el 16 de Mayo de 2020
Editada: Mehmed Saad
el 16 de Mayo de 2020
Use area for that purpose by selecting the specific range and use area
x = 0:2500;bw =700;lcom = 611;
Lvy = (611 <= x)&(vgrf2 >= bw) & (x < 794);
figure(1)
plot(x,vgrf2,'k')
hold on;
xline(lcom,'k--','Lowest COM position','LabelHorizontalAlignment','center',...
'LabelOrientation','horizontal');
yline(bw,'k--',{'Body','Weight'},'LabelHorizontalAlignment','left',...
'LabelVerticalAlignment','middle');
selected_area = lcom:793;
area(selected_area,vgrf2(selected_area),bw,'EdgeColor','none','FaceColor','g')
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/293386/image.png)
Also to select all the area ahead of this point which is greater than bw in y and lcom in x
load('sample.mat')
x = 0:2500;bw =700;lcom = 611;
figure(1)
plot(x,vgrf2,'k')
hold on;
xline(lcom,'k--','Lowest COM position','LabelHorizontalAlignment','center',...
'LabelOrientation','horizontal');
yline(bw,'k--',{'Body','Weight'},'LabelHorizontalAlignment','left',...
'LabelVerticalAlignment','middle');
ind = (vgrf2>bw)&x>lcom;
vgrf2(~ind) = NaN;
area(x,vgrf2,bw,'EdgeColor','none','FaceColor','g')
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/293387/image.png)
6 comentarios
Mehmed Saad
el 16 de Mayo de 2020
Editada: Mehmed Saad
el 16 de Mayo de 2020
set the ShowBaseLine property of area to off
area(x,vgrf2,bw,'EdgeColor','none','FaceColor','g','ShowBaseLine','off')
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/293389/image.png)
Más respuestas (0)
Ver también
Categorías
Más información sobre Polygons en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!