Drawing a line to divide two parts of a curve
14 次查看(过去 30 天)
显示 更早的评论
Hello,
How can I draw a vertical line in a curve to divide two parts of the curve and color the first part?
Thanks in advance,
0 个评论
采纳的回答
Star Strider
2021-9-15
Try this —
x = linspace(0, 20);
y = (1-exp(-0.1*x));
xq = 10;
yq = interp1(x,y,xq)
figure
plot(x, y)
hold on
plot([1 1]*xq, [0 yq]) % Vertical Line
Lv = x<=xq;
patch([x(Lv) fliplr(x(Lv))], [zeros(1,nnz(Lv)) fliplr(y(Lv))], 'g', 'FaceAlpha',0.5) % Shaded ARea
hold off
Experiment with my code and your data
.
0 个评论
更多回答(2 个)
Dave B
2021-9-15
编辑:Dave B
2021-9-15
You can draw a vertical line very easily with xline
area works well for filling a part of the curve
x=linspace(-3,3,100);
y=exp(-x.^2);
hold on
cutoff=.35;
area(x(x<cutoff),y(x<cutoff),'FaceAlpha',.2,'EdgeColor','none')
plot(x,y,'LineWidth',2)
xline(cutoff,'LineWidth',2,'Label',"The Value is " + cutoff,'LabelOrientation','horizontal')
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!