Color graph area in different shades

1 view (last 30 days)
Maria445
Maria445 on 14 Mar 2019
Edited: Adam Danz on 16 Mar 2019
Hi everyone, I'd like to do something but don't know whether it's possible or not in Matlab:
I plotted GDP values over time in a 2d graph.
I colored the area below the curve, but I'd also like this colored area to have different shades: a stronger shade when GDP gets higher, and a pale one when GDP values are lower.
Is it possible to do it?

Accepted Answer

Adam Danz
Adam Danz on 14 Mar 2019
Edited: Adam Danz on 16 Mar 2019
Yep, it's possible.
Check out these examples using patch(). Your x and y values will be defined by the curve and the limits of your axes. The c value will be defined by GDP.
Demo
y = rand(1,100); % this would be GDP
x = linspace(1,200,100);
% x,y define the 'top' of the shape. Now we define and sides and bottom.
yy = [y, zeros(size(x))];
xx = [x, fliplr(x)];
figure()
patch(xx,yy, [y,zeros(size(y))])
colorbar
Note the redundancy between the y axis values and the colorbar values which indicate the same thing. The only added benefit is visual aesthetic.
  5 Comments
Adam Danz
Adam Danz on 15 Mar 2019
Just saw your 2nd reply. Way to go!

Sign in to comment.

More Answers (0)

Categories

Find more on Graphics Performance in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!