在MATLAB中对绘图进行填充或着色

在MATLAB中对绘图进行填充或着色,matlab,graph,colors,plot,Matlab,Graph,Colors,Plot,例如,如果我在MATLAB中有以下代码 x = 0:0.1:2*pi; y = sin(x); figure1 = figure; axes1 = axes('Parent',figure1,'XTick',[0 2 5],'XGrid','on'); box(axes1,'on'); hold(axes1,'all'); plot(x,y); 这将生成以下图表。 我正在尝试为图形填充图案或为图形着色 如何从区域x=0和x=2对图形和函数进行图案填充,并从区域x=5对绘图进行类似的图案填充

例如,如果我在MATLAB中有以下代码

x = 0:0.1:2*pi;
y = sin(x);

figure1 = figure;
axes1 = axes('Parent',figure1,'XTick',[0 2 5],'XGrid','on');
box(axes1,'on');
hold(axes1,'all');
plot(x,y);
这将生成以下图表。

我正在尝试为图形填充图案或为图形着色

如何从区域x=0和x=2对图形和函数进行图案填充,并从区域x=5对绘图进行类似的图案填充,直到结束。 同样地,如果我想在这些相同的区域之间给图形上色,我该怎么做呢

我尝试使用plot::hatch和plot tools选项,但不起作用。任何帮助都将不胜感激

谢谢。

类似这样的内容:

x = 0:0.1:2*pi;
y = sin(x);

axes1 = axes('XTick',[2 5],'XGrid','on');
box(axes1,'on');

plot(x,y);
xlim(x([1 end]))
yl = ylim;

hold on
idx = x <= 2;
area(axes1, x(idx), y(idx), yl(1), 'FaceColor','r','EdgeColor','none')
idx = x >= 5;
area(axes1, x(idx), y(idx), yl(1), 'FaceColor','r','EdgeColor','none')
hold off
x=0:0.1:2*pi;
y=sin(x);
axes1=轴('XTick',[25],'XGrid','on');
箱体(轴1,'on');
图(x,y);
xlim(x([1结束])
yl=ylim;
等等
idx=x=5;
面积(axes1、x(idx)、y(idx)、yl(1)、‘FaceColor’、‘r’、‘EdgeColor’、‘none’)
拖延

能否准确指定要填充/着色的区域?你是指图形和零或其他东西之间的面积吗?x=0和x=2(由点划线标记)和函数y之间的面积。类似地,x=5(由虚线标记)到x轴末端和函数y之间的区域。换句话说,在从x=0延伸到x=2的x轴和函数之间。可能的