Fill light gray color between two horizontal lines in a plot?
72 次查看(过去 30 天)
显示 更早的评论
I want to fill light gray color between two horizontal lines such that I can plot the horizontal lines as dashed dotted ? Please help me regarding this issue. I am writing below the code
x=[1:10];
y=[1:10];
figure(1);clf;
plot(x,y,'b')
hold on
plot([1,10],2*[1,1],'--.k')
hold on
plot([1,10],4*[1,1],'--.k')
2 个评论
Levente Gellért
2024-2-14
Dear Community members! How can one solve the same problem in 2017a?
Thanks
lg
采纳的回答
Star Strider
2023-2-7
x=[1:10];
y=[1:10];
figure(1)
plot(x,y,'b')
hold on
patch([x, flip(x)], [ones(size(x))*2, ones(size(x))*4], [1 1 1]*0.05, 'Edgecolor','none', 'FaceAlpha',0.25)
plot([1,10],2*[1,1],'-.k')
plot([1,10],4*[1,1],'-.k')
hold off
.
更多回答(2 个)
Arif Hoq
2023-2-7
x=[1:10];
y=[1:10];
figure(1);clf;
plot(x,y,'b')
hold on
plot([1,10],2*[1,1],'--.k')
hold on
plot([1,10],4*[1,1],'--.k')
x = [1 10 10 1];
y = [2 2 4 4];
patch(x,y,[.5 .5 .5])
1 个评论
Benjamin Kraus
2023-2-7
Using patch as @Arif Hoq suggested is best, but you may also want to set the FaceAlpha and EdgeColor like this:
x=[1:10];
y=[1:10];
figure(1);clf;
plot(x,y,'b')
hold on
plot([1,10],2*[1,1],'--.k')
hold on
plot([1,10],4*[1,1],'--.k')
x = [1 10 10 1];
y = [2 2 4 4];
patch(x,y,'k','FaceAlpha',0.5,'EdgeColor','none')
xlim([1 10])
Sarvesh Kale
2023-2-7
Hi ,
You can add the following extra line to your code
rectangle("Position",[1 2 10 2],"FaceColor",[150/255 150/255 150/255],"LineStyle","none");
This will shade the required portion with gray color, However I was not able to toggle its visibility so that the underlying slanted straight line is also visible.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Labels and Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!