# I have line and want to colour the area behind the line (beyond the x axis) how can I do this

2 views (last 30 days)
Katherine on 23 Nov 2023
Commented: Adam Danz on 24 Nov 2023
I have a line in the format y= mx+c, and I want to shade/colour the area 'behind' the line depending on the direction of my line. I can only see functions that shade/colour the axis from line to x axis. Is there a way of doing what I am describing
Image Analyst on 23 Nov 2023
Not really? Did you expand the comments to see all of them or only see the last one?
Adam Danz on 24 Nov 2023

Star Strider on 23 Nov 2023
Edited: Star Strider on 23 Nov 2023
I am not completely certain what ‘behind’ the line means, however from your comments with respect to the x-axis, I guess that you mean fro the y-axis to the line.
If so, try this —
x = linspace(0, 10).';
m = randn
m = -0.8135
c = randn
c = 0.4800
y = m*x + c;
figure
plot(x, y)
hold on
patch([x; zeros(size(x))], [y; flip(y)], 'r', 'FaceAlpha',0.5, 'EdgeColor','none')
hold off
m = randn
m = 1.6675
c = randn
c = -0.4378
y = m*x + c;
figure
plot(x, y)
hold on
patch([x; zeros(size(x))], [y; flip(y)], 'r', 'FaceAlpha',0.5, 'EdgeColor','none')
hold off
Please clarify if you intend something else.
EDIT — (23 Nov 2023 at 15:27)
Added second plot with different parameters.
EDIT — (23 Nov 2023 at 17:25)
Added ‘Entire Underneath the Line’ and ‘Entire Above the Line’ in the following code sections —
x = linspace(0, 10).';
m = randn
m = -0.0184
c = randn
c = 0.8392
y = m*x + c;
figure
plot(x, y)
hold on
patch([x; flip(x)], [y; zeros(size(y))+min(ylim)], 'g', 'FaceAlpha',0.5, 'EdgeColor','none')
hold off
title(sprintf('Entire Underneath the Line\ny = %.3f*x %+.3f', m,c))
m = randn
m = 1.4742
c = randn
c = -1.7464
y = m*x + c;
figure
plot(x, y)
hold on
patch([x; flip(x)], [y; zeros(size(y))+max(ylim)], 'g', 'FaceAlpha',0.5, 'EdgeColor','none')
hold off
title(sprintf('Entire Above the Line\ny = %.3f*x %+.3f', m,c))
.