I have line and want to colour the area behind the line (beyond the x axis) how can I do this
2 次查看(过去 30 天)
显示 更早的评论
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
6 个评论
Image Analyst
2023-11-23
Not really? Did you expand the comments to see all of them or only see the last one?
Adam Danz
2023-11-24
Thanks @Katherine, that makes sense to me. Looks like @Star Strider's answer addresses your question.
回答(1 个)
Star Strider
2023-11-23
编辑:Star Strider
2023-11-23
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
c = randn
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
c = randn
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
c = randn
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
c = randn
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))
.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!