Highlight specific area of graph.

46 views (last 30 days)
I have the following code:
syms x y
y = -x;
fplot(x, y, 'k')
hold on
y = x.^2-4;
fplot(x, y, 'k')
hold off
xlim([-5 5])
ylim([-5 5])
box on
grid on
axis=gca;
axis.XAxisLocation = 'origin';
axis.YAxisLocation = 'origin';
title('Graph of y = xe^x')
xlabel('x')
ylabel('y')
which generates the following graph. Is there a way of colouring or highlighting the shaded area? Thank you.
graph_Mathworks.png

Accepted Answer

Star Strider
Star Strider on 5 Mar 2019
Edited: Star Strider on 5 Mar 2019
You have to change the code slightly to do this:
x = linspace(-5, 5, 1000);
y1 = -x;
y2 = x.^2-4;
lidx = y1 >= y2;
figure
plot(x, y1, 'k')
hold on
plot(x, y2, 'k')
patch([x(lidx) fliplr(x(lidx))], [y1(lidx), fliplr(y2(lidx))], 'g', 'FaceAlpha', 0.5) % <— ADD THIS LINE
hold off
xlim([-5 5])
ylim([-5 5])
box on
grid on
axis=gca;
axis.XAxisLocation = 'origin';
axis.YAxisLocation = 'origin';
title('Graph of y = xe^x')
xlabel('x')
ylabel('y')
Experiment to get the result you want.
EDIT — (5 Mar 2019 at 00:39)
Added plot image:

More Answers (0)

Categories

Find more on Line Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!