using area function - drawing below 0 of y axes

조회 수: 8 (최근 30일)
michael
michael 2021년 5월 31일
답변: Star Strider 2021년 5월 31일
Hi,
I have some graph. I'd like to plot an area (the orange one). I'm using area function for positive values. how can I use it for both positive and negative?
It shall be dynamically as each time the graph is changing based on the data.
The maximum and minimum values may be the max and min of the graph.

답변 (2개)

Jan
Jan 2021년 5월 31일
This sounds like a job for a patch:
figure;
axes('XLim', [0, 10], 'Ylim', [-5, 5]);
patch([1,2,2,1], [-3,-3, 4,4], rand(1,3))

Star Strider
Star Strider 2021년 5월 31일
To do this with the area function, changing the basevalue could work, however it is likely easier to use patch
x = linspace(0,10);
y = sin(2*pi*x/5);
figure
patch([4 6 6 4], [-1 -1 1 1]*1.2, [.8 .3 .2], 'EdgeColor','none')
hold on
plot(x, y)
hold off
yline(0)
ylim([-1.5 1.5])
.

카테고리

Help CenterFile Exchange에서 Polygons에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by