Clear Filters
Clear Filters

using area function - drawing below 0 of y axes

9 views (last 30 days)
michael on 31 May 2021
Answered: Star Strider on 31 May 2021
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.

Answers (2)

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

Star Strider
Star Strider on 31 May 2021
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);
patch([4 6 6 4], [-1 -1 1 1]*1.2, [.8 .3 .2], 'EdgeColor','none')
hold on
plot(x, y)
hold off
ylim([-1.5 1.5])



Community Treasure Hunt

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

Start Hunting!