例如,如果我在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选项,但它没有用。任何帮助将不胜感激。
谢谢。
答案 0 :(得分:3)
这样的事情:
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