坐标轴没有直接按区域显示颜色的方法,但是我们可以通过其他的绘图完成我们想要区域颜色绘制。
本文是用过area命令来绘制坐标轴颜色。效果和代码如下图所示。
%创建绘图区域
h=figure('Name','Coordinate different colors Picture','NumberTitle','off');
whitebg(h,'white');
%创建绘图轴区域
ax=axes();
ax.XLim=[0,2];
ax.YLim=[0,3];
%绘制第一块区域
area(ax,[0 2],[2.8 2.8],'LineStyle',':','FaceColor',[178 233 202]./255,'EdgeColor','flat')
hold on;
% 分别绘制第二块与第三块区域,并将颜色赋值
area(ax,[0 2],[1.7 1.7],'LineStyle','--','FaceColor',[255 255 178]./255,'EdgeColor',[0 0 0],'LineWidth',0.8);
area(ax,[0 2],[0.8 0.8],'LineStyle','--','FaceColor',[255 178 178]./255,'EdgeColor','none');
% 设置网格线,并将网格线放置顶部
set(ax,'Layer','top','XGrid','on','XMinorGrid','on',...
'YGrid','on','YMinorGrid','on');
%绘制实际的图像
x=0:0.1:2;
y=2.5*sin(x);
plot(ax,x,y,Color='r',Marker='*',MarkerEdgeColor='b');
xlabel('Input X')
ylabel('Output Y')
legend({'y=2.5*sin(x)'})
%close(h);
当你选择填充满如下图所示只需要将修改成下列即可
area(ax,xlim,[max(ylim) max(ylim)],'LineStyle',':','FaceColor',[178 233 202]./255,'EdgeColor','flat')