Люк или раскрасить сюжет в MATLAB - PullRequest
2 голосов
/ 16 марта 2012

Например, если у меня есть следующий код в 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, а также функцию и аналогичный штрихсюжет от области х = 5 до конца.Аналогично, если я хочу раскрасить график между этими же регионами, как я могу это сделать?

Я пытался использовать plot :: hatch и опцию plot tools, но это не сработало.Любая помощь будет принята с благодарностью.

Спасибо.

1 Ответ

3 голосов
/ 17 марта 2012

Примерно так:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...