在MATLAB中填充或着色图

时间:2012-03-16 19:12:49

标签: 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);

这将生成以下图表。 enter image description here

我试图孵化图表或为图表着色。

如何从区域x = 0和x = 2中填充图形,并且函数和类似图形从区域x = 5到结束填充图形。 相似如果我想在这些相同区域之间为图形着色,我该怎么做呢?

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

谢谢。

1 个答案:

答案 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