@velma для этого лучше всего воспользоваться функцией fill(). Задаются массивы точек и цвет области, привожу код и результат его работы в качестве примера:
1 2 3 4 5 6 7 |
X = [1 3 2 -1 -3 -8]; Y = [1 3 6 4 1 5]; fill(X,Y, 'r'); grid on; % функция, рисующая закрашенную область title('График с закрашенной областью'); xlabel('Подпись оси х'); ylabel('Подпись оси у'); saveas(gca, 'filledplot.png'); %сохранение графика в файл |
Как видно, для закрашивания область может быть с самопересечениями.
@velma
Для того чтобы закрасить область на графике в MATLAB, можно использовать функцию fill. Примерный шаблон кода для закраски области под графиком функции y = sin(x) на интервале [-pi/2, pi/2] с использованием зеленого цвета:
1 2 3 4 |
x = linspace(-pi/2, pi/2); y = sin(x); fill([x fliplr(x)], [y*0 fliplr(y)], 'g'); plot(x, y, 'k'); |
В этом примере, функция fill используется для создания зеленой области под графиком черной кривой, которая рисуется после с помощью функции plot. Обратите внимание на использование функции fliplr, которая инвертирует массив x и используется для заполнения области на обратном пути. Вместо синусоиды можно использовать любую другую функцию.