Затенение между вертикальными линиями в MATLAB - PullRequest
7 голосов
/ 15 января 2011

Я уверен, что это простой вопрос, но я не могу понять это.У меня есть этот график alt text

, и я хочу добавить вертикальные линии и затенить область между ними, чтобы выделить области данных.Я чувствую, что я должен быть в состоянии сделать это с помощью функции площади, но не могу понять это.Даты и значения являются двойными и представляют собой два отдельных вектора, если это имеет значение.Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

12 голосов
/ 15 января 2011

Очень простой пример затенения области на графике. Затенение области, ограниченной кривой , также может представлять интерес

figure;
ha = area([4 6], [10 10]);
hold on
plot(1:10, 1:10,'r')
axis([1 10 1 10])
hold off

shaded area

0 голосов
/ 14 июня 2018

Вместо area вы также можете использовать fill, что может быть немного более интуитивно с точки зрения использования.

figure;
plot(1:10, 1:10,'r');

% Define the "shading"
% Note how each x_points(i) corresponds to y_points(i)
x_points = [5, 5, 7, 7];  
y_points = [0, 10, 10, 0];
color = [0, 0, 1];

hold on;
a = fill(x_points, y_points, color);
a.FaceAlpha = 0.1;

a matlab figure

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...