Как закрасить область на графике в matlab?

Пользователь

от velma , в категории: Другие , 3 года назад

Как закрасить область на графике в matlab?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от cade , 3 года назад

@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'); %сохранение графика в файл

Как видно, для закрашивания область может быть с самопересечениями.

Пользователь

от william_stoltenberg , 2 года назад

@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 и используется для заполнения области на обратном пути. Вместо синусоиды можно использовать любую другую функцию.