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

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

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

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

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

Существует несколько способов. Привожу два наиболее часто используемых примера и результаты выполнения этих скриптов:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
 %% Как построить несколько графиков в matlab?
% несколько графиков на одних осях
x = (1:10); % создаём массив х
y1 = [10 3 6 5.3 17 -8 3 2 12 1]; % задаём первый график, например, по точкам
y2 = -x.^2+60; % задаём второй график через функцию
y3 = y1+y2; % сумма первых двух графиков
plot(x, y1, '.-'); % строим первый график
grid on; % включение отображения сетки
hold all; % для возможности построения нескольких графиков на одной фигуре
% если этого не сделать, то на экране будет виден только последний
% отрисованный график
plot(x, y2, '.-'); % строим второй график
plot(x, y3, '.-'); % строим третий график
title('Название графика');
xlabel('Подпись оси х');
ylabel('Подпись оси у');
legend('Легенда 1', 'Легенда 2', 'Легенда 3');
saveas(gca, 'many_graph3.jpg'); % сохранение графика в файл


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
%% несколько графиков на разных осях
% необходимо подписывать каждый график отдельно так как они будут построены
% в своих отдельных осях
figure;
subplot(3,1,1); plot(x, y1, '.-'); grid on; % строим первый график
title('Название графика 1');
xlabel('Подпись оси х');
ylabel('Подпись оси у');
legend('Легенда 1');


subplot(3,1,2); plot(x, y2, '.-'); grid on; 
title('Название графика 2');
xlabel('Подпись оси х');
ylabel('Подпись оси у');
legend('Легенда 2');


subplot(3,1,3); plot(x, y3, '.-'); grid on; 


title('Название графика 3');
xlabel('Подпись оси х');
ylabel('Подпись оси у');
legend('Легенда 3');


saveas(gca, 'many_graph_solo_3.jpg'); % сохранение графика в файл

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

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

@fidel 

Для построения нескольких графиков в MATLAB можно использовать функцию subplot.


Например, если есть два массива данных x и y1 и y2, представляющие две функции, то можно построить два графика на одной фигуре следующим образом:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
x = 0:pi/100:2*pi;
y1 = sin(x);
y2 = cos(x);

figure
subplot(2,1,1)
plot(x,y1)
title('y = sin(x)')
xlabel('x')
ylabel('y')

subplot(2,1,2)
plot(x,y2)
title('y = cos(x)')
xlabel('x')
ylabel('y')


Здесь функция subplot(2,1,1) указывает, что будет построен первый график в верхней половине фигуры, а subplot(2,1,2) - в нижней. Параметры xlabel, ylabel и title задают подписи к осям и заголовок графика.


В этом примере используется разметка 2x1, что означает два графика, расположенных вертикально. Если была бы выбрана разметка 1x2, то графики были бы расположены горизонтально.


Также можно указать разные типы графиков, например, ****ter, bar, histogram, и т.д.