Построение нескольких графиков
В этом примере показано, как построить графики в тех же осях с помощью hold функция, и как создать несколько осей на рисунке, использующем tiledlayout функция.
Построение нескольких графиков на тех же осях координат
По умолчанию новые графики очищают существующие графики и сбрасывают свойства осей, такие как заголовок. Однако можно использовать hold on команда, чтобы построить несколько графиков в тех же осях. Например, постройте два графика и график рассеивания. После отключите удержание командой hold off.
x = linspace(0,10,50); y1 = sin(x); plot(x,y1) title('Combine Plots') hold on y2 = sin(x/2); plot(x,y2) y3 = 2*sin(x); scatter(x,y3) hold off
Когда состояние удержания включено, новые графики не очищают существующие графики или сбрасывают свойства осей, такие как заголовок или подписи по осям. Цикл графиков через цвета и стили линии на основе ColorOrder и LineStyleOrder свойства осей. Пределы осей и значения деления могут настроить, чтобы хранить новые данные.
Отобразите несколько осей в фигуре
Можно отобразить несколько осей на одной фигуре при помощи tiledlayout функция. Эта функция создает мозаичное размещение графика, содержащее невидимую сетку мозаик по целой фигуре. Каждая мозаика может содержать оси для отображения графика. После создания размещения вызовите nexttile функционируйте, чтобы поместить объект осей в размещение. Затем вызовите функцию построения графика, чтобы построить в оси. Например, создайте два графика в 2 1 размещение. Добавьте заголовок на каждый график.
x = linspace(0,10,50); y1 = sin(x); y2 = rand(50,1); tiledlayout(2,1) % Top plot nexttile plot(x,y1) title('Plot 1') % Bottom plot nexttile scatter(x,y2) title('Plot 2')

Создайте график, охватывающий несколько строк или столбцов
Чтобы создать график, который охватывает несколько строк или столбцов, задайте span аргумент, когда вы вызываете nexttile . Например, создайте размещение 2 на 2. Постройте в первые две мозаики. Затем создайте график, который охватывает одну строку и два столбца.
x = linspace(0,10,50); y1 = sin(x); y2 = rand(50,1); % Top two plots tiledlayout(2,2) nexttile plot(x,y1) nexttile scatter(x,y2) % Plot that spans nexttile([1 2]) y2 = rand(50,1); plot(x,y2)

Измените Внешний вид осей
Измените внешний вид осей путем установки свойств на каждом из объектов осей. Можно получить объект осей путем вызова nexttile функция с выходным аргументом. Также можно задать объект осей как первый входной параметр к графической функции, чтобы гарантировать, что функция предназначается для правильных осей.
Например, создайте два графика и присвойте объекты осей переменным ax1 и ax2 . Измените размер шрифта осей и цвет оси X для первого графика. Добавьте линии сетки во второй график.
x = linspace(0,10,50); y1 = sin(x); y2 = rand(50,1); tiledlayout(2,1) % Top plot ax1 = nexttile; plot(ax1,x,y1) title(ax1,'Plot 1') ax1.FontSize = 14; ax1.XColor = 'red'; % Bottom plot ax2 = nexttile; scatter(ax2,x,y2) title(ax2,'Plot 2') grid(ax2,'on')

Управляйте интервалом вокруг мозаик
Можно управлять интервалом вокруг мозаик в размещении путем определения Padding и TileSpacing свойства. Например, отобразите четыре графика в размещении 2 на 2.
x = linspace(0,30); y1 = sin(x); y2 = sin(x/2); y3 = sin(x/3); y4 = sin(x/4); % Create plots t = tiledlayout(2,2); nexttile plot(x,y1) nexttile plot(x,y2) nexttile plot(x,y3) nexttile plot(x,y4)

Уменьшайте интервал вокруг периметра размещения и вокруг каждой мозаики путем установки Padding и TileSpacing свойства к ‘compact’ .
t.Padding = 'compact'; t.TileSpacing = 'compact';

Отобразите разделяемый заголовок и подписи по осям
Можно отобразить разделяемый заголовок и совместно использованные подписи по осям в размещении. Создайте 2 1 размещение t . Затем отобразите линейный график и диаграмму стебель-листья. Синхронизируйте пределы оси X путем вызова linkaxes функция.
x1 = linspace(0,20,100); y1 = sin(x1); x2 = 3:17; y2 = rand(1,15); % Create plots. t = tiledlayout(2,1); ax1 = nexttile; plot(ax1,x1,y1) ax2 = nexttile; stem(ax2,x2,y2) % Link the axes linkaxes([ax1,ax2],'x');

Добавьте разделяемый заголовок и совместно использованные подписи по осям путем передачи t к title xlabel , и ylabel функции. Подвиньте графики поближе вместе путем удаления меток в виде галочки оси X из главного графика и установки TileSpacing свойство t к ‘compact’ .
% Add shared title and axis labels title(t,'My Title') xlabel(t,'x-values') ylabel(t,'y-values') % Move plots closer together xticklabels(ax1,<>) t.TileSpacing = 'compact';
Как построить 2 графика на одном рисунке?
у меня код есть могу построить первый график сначала а потом заменить данные и построить второй график но отдельно хочу построить их вместе на одном рисунке как построить второй в конце есть Коментарии (у умножение строка 26 и 62 на 2 и изменение в 10 )
Вложения
| matlab_rabochiy.rar (725 байт, 60 просмотров) |
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Не строится два графика на одном рисунке
figure(‘name’,’log) loglog(f,Spectrum_Power, ‘b’); hold all; y53=(-5/3)*f;.
Как построить 2 трехмерных графика в одном окне
Графики строятся по отдельности, но хочу для сравнения вывести их в одном окне. Подскажите, что не.

2 графика на одном рисунке с 2 осями х и одной осью y
Здравствуйте. Есть 2 зависимости иксы разные, а игрики одинаковые: х1: 1, 5, 3, 2, 5, 6, 7 .

Построить на одном рисунке графики двух функций
построить на одном рисунке графики двух функций F(x), G(x), задав изменение x на отрезке с шагом.
Регистрация: 15.05.2013
Сообщений: 73
Используй команду subplot. Она строит отдельные графики в одном окне.
Если надо построить 2 графика на одном рисунке, то используй hold on, только выходные функции должны иметь разные имена, т.е. типа y1 и y2.
Регистрация: 17.04.2013
Сообщений: 49
код сложный subplot и hold on не подходят
Регистрация: 04.05.2013
Сообщений: 13
Каким образом сложность кода влияет на работу функций hold on и subplot.
Регистрация: 17.04.2013
Сообщений: 49
посмотрите пожалуйста код и напишите мне как можно там использовать hold on или subplot
заранее спасибо Вам
Регистрация: 15.05.2013
Сообщений: 73
Сообщение от Puxoper 
Каким образом сложность кода влияет на работу функций hold on и subplot.
Не понял вопроса. Для постройки разных графиков нужны разные функции. Переменные могут быть одинаковые.
Твой код реально сложный, но тебе советую выделить результирующие функции отдельно.
Покажу на простом примере:
1 2 3 4 5 6 7
x = 0:0.5:10; y1 = cos(x) - 2; y2 = sin(x); plot(x,y1,'b'); hold on; plot(x,y2,'r'); hold off;
1 2 3 4 5
x = 0:0.5:10; y1 = cos(x) - 2; y2 = sin(x); subplot(1,2,1); plot(x,y1,'b'); subplot(1,2,2); plot(x,y2,'r');
Регистрация: 17.04.2013
Сообщений: 49
ДА так понятно
но, у меня не так каждый график отдельно строится но на одном рисунке не знаю как
думаю что найду ответ у вас — второй график отличается от первого только в строку 26 и 62 надо умножить на 2
и построить вместе
кто может этого делать напишите пожалуйста очень важно
461 / 451 / 56
Регистрация: 28.05.2013
Сообщений: 699
А так сойдёт?:
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
S=50; Talone=[1.5 2 2 2 2 2 2 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 3 3 3 3 3 3 3 3 3 3 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 3.5 4 4 4 4 4 4 4.5 4.5 4.5 4.5 5 5 5.5 5.5 6]; Talone=Talone*1000; Tmin_fix=0.9*1000; Tmin_min=0.6*1000; Tmin_max=1.2*1000; shagTmin=0.1*1000; kolShagT=(Tmin_max-Tmin_min)/shagTmin+1; C=((1/S)*sum(1./Talone))^(-1); A=1500; Ro=A/(2*C); maxM=10; minM=4; mFix=5; m_plot=zeros(1,(maxM-minM)+1); p_plot=zeros(1,(maxM-minM)+1); for countM=1 : 1 : (maxM-minM)+1; m=countM+minM-1; m_plot(countM)=m; t=Talone./m; Pr1=(Ro^m)*(1-Ro); Em=Ro/(1-Ro); Pr2=(m*Pr1)/Em; T=((1-Ro)/S)*sum(Talone); Tmin=Tmin_fix; k=(Talone)./Tmin; k1=floor(k); a=zeros(1,length(k1)); a1=zeros(1,length(k1)); for j = 1 : 1: S; if k1(j)>=m a(j)=(m*(Ro)^(m-1))*(1-Ro)^2; else continue; end; if j>1 if k1(j)~=k1(j-1) a1(j)=sum(a); else a1(j)=a1(j-1); end; else a1(1)=a(1); end; end; Pr1Tmin=sum(a1)/S; p_plot(countM)=Pr1Tmin; end; plot(m_plot,p_plot,'-r','LineWidth',2); hold on % pause; t_plot=zeros(1,kolShagT); p_plot=zeros(1,kolShagT); for countT=1 : 1 : kolShagT; m=mFix; t=Talone./m; Pr1=(Ro^m)*(1-Ro); Em=Ro/(1-Ro); Pr2=(m*Pr1)/Em; T=((1-Ro)/S)*sum(Talone); Tmin=Tmin_min+(countT-1)*shagTmin; t_plot(countT)=Tmin; k=(Talone)./Tmin; k1=floor(k); a=zeros(1,length(k1)); a1=zeros(1,length(k1)); for j = 1 : 1: S; if k1(j)>=m a(j)=(m*(Ro)^(m-1))*(1-Ro)^2; else continue; end; if j>1 if k1(j)~=k1(j-1) a1(j)=sum(a); else a1(j)=a1(j-1); end; else a1(1)=a(1); end; end; Pr1Tmin=sum(a1)/S; p_plot(countT)=Pr1Tmin; end; plot(t_plot,p_plot,'LineWidth',2); % случай с двойной несущей домножаю Talone на 2 в сторке 26 и 62 % уменьшаю спорс на трафик А в два раза(строка) 10
Строим графики в MATLAB
Регулярно читаю вопросы про то, как построить график в MATLAB. Документация есть, примеры есть, а вопросы все равно остаются. Значит будем строить, начнем с простейших двумерных, в итоге сделаем набор шаблонов с картинками — заглянул в статью, скопировал, вставил.
Первая и самая часто встречающаяся функция это plot(. ), параметры умышленно не пишу, сейчас будем в них разбираться.
Во-первых, стоит разделить реализации на две основные группы. Первая из них принимает два параметра plot(x, y), еслимы обозначим ось абсцисс за X, а ось ординат за Y, то наша функция последовательно наставит нам на координатной плоскости точек и единственным требованием к массивам х и у будет равенство их длин. Возьмем 4 случайные точки и построим их.
% Массив абсцисс x = [1 4 8 -1]; % Массив Ординат y = [4 -2 1 -3]; % Строим график plot(x, y);
В итоге получаем следующую ломаную:
Теперь перейдем к второй группе функций, у нее только один параметр — это значения по оси ординат plot(y), значения по оси абсцисс MATLAB додумает самостоятельно, это будет массив со значениями от 0 и до length(y) — 1, соответственно точки получатся (y1 ,0), (y2 ,1) .
% Массив Ординат y = [4 -2 1 -3]; % Строим график plot(y);
Массив ординат тот же, что и ранее, но результат уже другой.
Иногда автомасштабирование графика может нас неустроить и мы захотим свои пределы отображения по осям. Для примера я поставлю пределы по больше, чтобы было видно разницу.
% Массив абсцисс x = [1 4 8 -1]; % Массив Ординат y = [4 -2 1 -3]; % Строим график plot(x, y); %Настраиваем пределы отображения xlim([-15 15]); ylim([-15 15]);
Смотрим на результат, кстати, требование к параметрам только одно — верхний лимит, должен быть больше нижнего, какой из параметров за какой лимит отвечает очевидно из примера.
Если нужно включить сетку, то можно воспользоваться командой grid on, за одно давайте сменим функцию на какую-нибудь более красивую.
% Массив абсцисс x = linspace(-10,10,200); % Массив Ординат y = sin(4*x)./exp(x); % Строим график plot(x,y); % Устанавливаем пределы отображения xlim([0 10]); ylim([-0.4 0.8]); % Включаем сетку grid on;
Перед тем как займемся украшательством, рассмотрим важный вопрос, как отобразить две кривые в одних и тех же осях координат и как сделать несколько осей координат в рамках одного окна. Начнем со второго вопроса, есть такая функция subplot(cnt_Y, cnt_X, num). Предлагаю разобраться с ее параметрами, первые два задают разметку, допустим, хочу сетку 2 на 2, соответственно cnt_Y = 2, cnt_Y = 2, теперь третий параметр — это номер области построения, задав сетку два на два мы получили своего рода матрицу, представим, что ее строки вытягиваются в цепочку друг за другом и указывая номер мы выбираем позицию. Сходу непонятно, но если нарисовать картинку, то все становится прозрачо.
![]()
Отмечу также, что можно занять несколько ячеек разметки одним графиком. Теперь вернемся к вопросу построения нескольких кривых в одних осях координат. Строить будем в одном окне сразу оба по этому применим subplot. Будем строить один под другим, соответственно у нас получится subplot(2, 1, 1) и subplot(2, 1, 2).
Первый метод это подставить в plot несколько пар значений plot(x1,y1,x2,y2) второй способ применить команду hold on. Посмотрим на код и результат его работы.
% Массив абсцисс x = linspace(-10,10,200); % Первая кривая y1 = sin(4*x)./exp(x); % Вторая кривая y2 = -sin(4*x)./exp(x); % лень матушка % Строим график первым способом subplot(2,1,1); plot(x,y1,x,y2); % Устанавливаем пределы отображения xlim([0 10]); ylim([-0.8 0.8]); %Включаем сетку grid on; % Строим вторым способом subplot(2,1,2); plot(x,y1); hold on; plot(x,y2); % Устанавливаем пределы отображения xlim([0 10]); ylim([-0.8 0.8]); % Сетку включать не будем
Вот и настал тот момент, когда возникает вопрос: «А что на Вашем графике есть что?», чтобы он не возникал давайте научимся подписывать графики, настраивать параметры линий, отображать «легенду». Про параметры линий я скажу пару слов отдельно, а все остальное покажу в коде и там же подробно прокомментирую.
При задании спецификации линий существует два типа нотаций укорченная и полная, например, цвет можно задать параметром ‘color’ или сокращенно первой буквой от названия цвета.
plot(x,y1, 'color', 'red'); % Делаем линию красной в длинной нотации plot(x,y2, 'g'); % Делаем линию зеленой в сокращенной нотации
Общепринятой практикой является запись следующих параметров в сокращенной форме тип линии (— сплошная, — пунктирная, : точками), цвета (r, g, b и т.д. подробнее в справке) и типа маркера (o — кружочек, s — квадратик, * — звездочка), а всех остальных в полной. Посмотрим на пример, хочу пунктирную(—), красную (r) линию с квадратными маркерами(s):
plot(y,'--rs') % без асцисс тоже можно задавать параметры
Отлично, с вопросом разобрались. Теперь построим все по красоте, а одну из линий нашпигуем по полной. Относительно предыдущего примера у нас появятся заголовки, подписи осей, параметры линий, а также на втором графике оставим только одну линию.
% Массив абсцисс x = linspace(-10,10,50); %Количество точек уменьшим, чтобы маркеры не сливались % Первая кривая y1 = sin(4*x)./exp(x); % Вторая кривая y2 = -sin(4*x)./exp(x); % лень матушка % Строим график первым способом subplot(2,1,1); plot(x,y1,'--go',x,y2,'--b*'); % В таком способе тоже есть все настройки % Устанавливаем пределы отображения xlim([0 10]); ylim([-0.8 0.8]); % Заголовок для первого графика title('Figure one title'); % Включаем сетку grid on; % Подписываем оси xlabel('Time, s') ; ylabel('Parrots, p'); % Настраиваем легенду legend(,'Location','northeast') % Строим вторым способом subplot(2,1,2); % Настраиваем линию по полной plot(x,y1,'--bo'. % Зеленая пунктирная линия с маркерами-кружочками 'LineWidth',2. % Двойная толщина линии 'MarkerSize',10. % Задаем размер маркеров 'MarkerEdgeColor','m'. % Цвет контура маркеров 'MarkerFaceColor',[0.5,0.5,0.5]) % Заливка маркеров, RGB формат тоже OK % Устанавливаем пределы отображения xlim([0 10]); ylim([-0.8 0.8]); % Заголовок для второго графика title('Figure two title'); % Подписываем оси xlabel('Time, s'); ylabel('Square parrots, p^2');
Чтобы не перегружать и без того большой пример, отдельно скажу про заголовки — их тоже можно настраивать и даже сделать подзаголовок. Смотрим в коде.
[t,s] = title('MAIN TITLE','sub title','Color','red'); t.FontSize = 16; s.FontAngle = 'italic';
Отдельно скажу, что есть еще метод суперзаголовка, но похоже он в одном из тулбоксов и в чистом MATLAB не доступен.
В принципе, для начала, я думаю, достаточно. В MATLAB еще полно разнообразной графики, будет итересно — продолжим гистограммами, полярными диаграммами, поверхностями и т.д.
plot
plot( X , Y ) создает 2D график данных в Y по сравнению с соответствующими значениями в X .
- Чтобы построить набор координат, соединенных с методической точностью сегменты, задайте X и Y как векторы из той же длины.
- Чтобы построить несколько наборов координат на том же наборе осей, задайте по крайней мере один из X или Y как матрица.
plot( X , Y , LineSpec ) создает график с помощью заданного стиля линии, маркера и цвета.
plot( X 1, Y 1. X n, Y n) графики несколько пар x — и y — координируют на том же наборе осей. Используйте этот синтаксис в качестве альтернативы определению координат как матрицы.
plot( X 1, Y 1, LineSpec 1. X n, Y n, LineSpec n) присваивает определенные стили линии, маркеры, и окрашивает к каждому x—y пару. Можно задать LineSpec для некоторого x—y пары и не используют его для других. Например, plot(X1,Y1,’o’,X2,Y2) задает маркеры для первого x—y пара, но не для второй пары.
plot( Y ) графики Y против неявного набора x — координаты.
- Если Y вектор, x — диапазон координат от 1 до length(Y) .
- Если Y матрица, график содержит одну линию для каждого столбца в Y . x — координирует диапазон от 1 до количества строк в Y .
Если Y содержит комплексные числа, MATLAB ® строит мнимую часть Y по сравнению с действительной частью Y . Если вы задаете оба X и Y , мнимая часть проигнорирована.
plot( Y , LineSpec ) задает стиль линии, маркер и цвет.
plot( ___ , Name,Value ) задает Line свойства с помощью одних или нескольких аргументов name-value. Свойства применяются ко всем построенным линиям. Задайте аргументы name-value после всех аргументов в любом из предыдущих синтаксисов. Для списка свойств смотрите Line Properties .
plot( ax , ___ ) отображает график в целевых осях. Задайте оси в качестве первого аргумента в любом из предыдущих синтаксисов.
p = plot( ___ ) возвращает Line возразите или массив Line объекты. Используйте p изменить свойства графика после создания его. Для списка свойств смотрите Line Properties .
Примеры
Построение графика
Создайте x как вектор из линейно распределенных значений между 0 и 2 π . Используйте шаг π / 1 0 0 между значениями. Создайте y как значения синуса x . Постройте график данных.
x = 0:pi/100:2*pi; y = sin(x); plot(x,y)

Построение нескольких графиков
Задайте x как 100 линейно распределенных значений между — 2 π и 2 π . Задайте y1 и y2 как синус и значения косинуса x Создать график для обоих наборов данных.
x = linspace(-2*pi,2*pi); y1 = sin(x); y2 = cos(x); figure plot(x,y1,x,y2)

Построение графика из матрицы
Задайте Y как матрица 4 на 4, возвращенная magic функция.
Y = magic(4)
Y = 4×4 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
Постройте 2D график для данных Y MATLAB® строит график для каждого столбца матрицы как новый график, новой линией.
figure plot(Y)

Определение стиля линии
Постройте три синусоиды с маленьким сдвигом фазы между каждой линией. Используйте стиль линии по умолчанию для первой линии. Задайте стиль пунктирной линии для второй линии и стиль точечной линии для третьей линии.
x = 0:pi/100:2*pi; y1 = sin(x); y2 = sin(x-0.25); y3 = sin(x-0.5); figure plot(x,y1,x,y2,'--',x,y3,':')

MATLAB® циклически повторяет цвет линии через порядок цвета по умолчанию.
Определение стиля линии, цвета и маркера
Постройте три синусоиды с маленьким сдвигом фазы между каждой линией. Используйте зеленую линию без маркеров для первой синусоиды. Используйте синюю пунктирную линию с круговыми маркерами для второй синусоиды. Используйте только голубые маркеры-звездочки для третьей синусоиды.
x = 0:pi/10:2*pi; y1 = sin(x); y2 = sin(x-0.25); y3 = sin(x-0.5); figure plot(x,y1,'g',x,y2,'b--o',x,y3,'c*')

Отображение маркеров в определенных точках данных
Постройте график и маркеры отображения в каждой пятой точке данных путем определения символа маркера и установки MarkerIndices свойство как пара «имя-значение».
x = linspace(0,10); y = sin(x); plot(x,y,'-o','MarkerIndices',1:5:length(y))

Определение ширины линии, размера маркера и цвета маркера
Постройте график и используйте LineSpec опция, чтобы задать пунктирную зеленую линию с квадратными маркерами. Используйте Name,Value пары, чтобы задать ширину линии, размер маркера и цвета маркера. Установите цвет обводки маркера на синий и выберите цвет поверхности маркера с помощью значения цвета RGB.
x = -pi:pi/10:pi; y = tan(sin(x)) - sin(tan(x)); figure plot(x,y,'--gs',. 'LineWidth',2,. 'MarkerSize',10,. 'MarkerEdgeColor','b',. 'MarkerFaceColor',[0.5,0.5,0.5])

Добавление заголовка и подписей по осям
Используйте linspace функция, чтобы задать x как вектор из 150 значений между 0 и 10. Задайте y как значения косинуса x .
x = linspace(0,10,150); y = cos(5*x);
Создайте 2D график косинусоиды. Измените цвет линии в оттенок сине-зеленого использования значения цвета RGB. Добавьте заголовок и подписи по осям к графику с помощью title xlabel , и ylabel функции.
figure plot(x,y,'Color',[0,0.7,0.9]) title('2-D Line Plot') xlabel('x') ylabel('cos(5x)')

Графическое изображение длительности и определение формата метки деления
Задайте t как семь линейно расположил с интервалами duration значения между 0 и 3 минутами. Отобразите случайные данные на графике и задайте формат duration отметки деления с помощью ‘DurationTickFormat’ аргумент пары «имя-значение».
t = 0:seconds(30):minutes(3); y = rand(1,7); plot(t,y,'DurationTickFormat','mm:ss')

Задание осей для графика
Начиная в R2019b, можно отобразить плиточное размещение графиков с помощью tiledlayout и nexttile функции. Вызовите tiledlayout функция, чтобы создать 2 1 мозаичное размещение графика. Вызовите nexttile функция, чтобы создать объект осей и возвратить объект как ax1 . Создайте главный график путем передачи ax1 к plot функция. Добавьте заголовок и метку оси Y к графику путем передачи осей title и ylabel функции. Повторите процесс, чтобы создать нижний график.
% Create data and 2-by-1 tiled chart layout x = linspace(0,3); y1 = sin(5*x); y2 = sin(15*x); tiledlayout(2,1) % Top plot ax1 = nexttile; plot(ax1,x,y1) title(ax1,'Top Plot') ylabel(ax1,'sin(5x)') % Bottom plot ax2 = nexttile; plot(ax2,x,y2) title(ax2,'Bottom Plot') ylabel(ax2,'sin(15x)')

Изменение линни после ее создания
Задайте x как 100 линейно распределенных значений между — 2 π и 2 π . Задайте y1 и y2 как синус и значения косинуса x . Постройте график обоих наборов данных и возвратите эти две линии на графике в p .
x = linspace(-2*pi,2*pi); y1 = sin(x); y2 = cos(x); p = plot(x,y1,x,y2);

Измените ширину первой линни, задав значение 2. Добавьте маркеры-звездочки во вторую линию. Используйте запись через точку, чтобы установить свойства.
p(1).LineWidth = 2; p(2).Marker = '*';

Рисование окружности
Постройте круг, сосредоточенный в точке (4,3) с радиусом, равным 2. Используйте axis equal для задания одинаковых маштабов по осям.
r = 2; xc = 4; yc = 3; theta = linspace(0,2*pi); x = r*cos(theta) + xc; y = r*sin(theta) + yc; plot(x,y) axis equal

Входные параметры
X — x — координаты
скаляр | вектор | матрица
x- в виде скаляра, вектора или матрицы. Размер и форма X зависит от формы ваших данных и типа графика, который вы хотите создать. Эта таблица описывает наиболее распространенные ситуации.
Задайте X и Y как скаляры и включают маркер. Например:
plot(1,2,'o')
Задайте X и Y как любая комбинация строки или вектор-столбцы той же длины. Например:
plot([1 2 3],[4; 5; 6])
Задайте последовательные пары X и Y векторы. Например:
plot([1 2 3],[4 5 6],[1 2 3],[7 8 9])
Если все наборы совместно используют тот же x — или y — координаты, задают разделяемые координаты как вектор и другие координаты как матрица. Длина вектора должна совпадать с одной из размерностей матрицы. Например:
plot([1 2 3],[4 5 6; 7 8 9])
Если матрица является квадратной, графики MATLAB одна линия для каждого столбца в матрице.
В качестве альтернативы задайте X и Y как матрицы равного размера. В этом случае, графики MATLAB каждый столбец Y против соответствующего столбца X . Например:
plot([1 2 3; 4 5 6],[7 8 9; 10 11 12])
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration
Y — y — координаты
скаляр | вектор | матрица
y- в виде скаляра, вектора или матрицы. Размер и форма Y зависит от формы ваших данных и типа графика, который вы хотите создать. Эта таблица описывает наиболее распространенные ситуации.
Задайте X и Y как скаляры и включают маркер. Например:
plot(1,2,'o')
Задайте X и Y как любая комбинация строки или вектор-столбцы той же длины. Например:
plot([1 2 3],[4; 5; 6])
В качестве альтернативы задайте только y — координаты. Например:
plot([4 5 6])
Задайте последовательные пары X и Y векторы. Например:
plot([1 2 3],[4 5 6],[1 2 3],[7 8 9])
Если все наборы совместно используют тот же x — или y — координаты, задают разделяемые координаты как вектор и другие координаты как матрица. Длина вектора должна совпадать с одной из размерностей матрицы. Например:
plot([1 2 3],[4 5 6; 7 8 9])
Если матрица является квадратной, графики MATLAB одна линия для каждого столбца в матрице.
В качестве альтернативы задайте X и Y как матрицы равного размера. В этом случае, графики MATLAB каждый столбец Y против соответствующего столбца X . Например:
plot([1 2 3; 4 5 6],[7 8 9; 10 11 12])
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | categorical | datetime | duration
LineSpec — Стиль линии, маркер и цвет
вектор символов | строка
Стиль линии, цвет и маркер задается как символ или строка символов. Символы могут появиться в любом порядке. Вы не должны задавать все три характеристики (стиль линии, маркер и цвет). Например, если вы не используете стиль линии и задаете маркер, затем график показывает только маркер и никакую линию.
Пример: ‘—or’ красная пунктирная линия с круговыми маркерами
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
ax — Целевые оси
Axes возразите | PolarAxes возразите | GeographicAxes объект
Целевые оси в виде Axes объект, PolarAxes объект или GeographicAxes объект. Если вы не задаете оси, графики MATLAB в текущую систему координат, или это создает Axes возразите, не существуете ли вы.
Чтобы создать полярный график или географический график, задайте ax как PolarAxes или GeographicAxes объект. В качестве альтернативы вызовите polarplot или geoplot функция.
Аргументы name-value
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, . NameN, ValueN .
Пример: ‘Marker’,’o’,’MarkerFaceColor’,’red’
Свойства линии на графике, перечисленные здесь, являются только подмножеством. Для полного списка смотрите Line Properties .
Color ‘LineColor’
[0 0.4470 0.7410] (значение по умолчанию) | триплет RGB | шестнадцатеричный цветовой код | ‘r’ | ‘g’ | ‘b’ | .
Цвет линии в виде триплета RGB, шестнадцатеричного цветового кода, названия цвета или краткого названия.
Для пользовательского цвета задайте триплет RGB или шестнадцатеричный цветовой код.
- Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1] ; например, [0.4 0.6 0.7] .
- Шестнадцатеричный цветовой код является вектором символов или строковым скаляром, который запускается с символа хеша ( # ) сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут лежать в диапазоне от 0 к F . Значения не являются чувствительными к регистру. Таким образом, цветовые коды ‘#FF8800’ , ‘#ff8800’ , ‘#F80’ , и ‘#f80’ эквивалентны.
Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB во многих типах графиков.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Пример: ‘blue’
Пример: [0 0 1]
Пример: ‘#0000FF’
LineStyle — Стиль линии
‘-‘ (значение по умолчанию) | ‘—‘ | ‘:’ | ‘-.’ | ‘none’
Стиль линии в виде одной из опций перечислен в этой таблице.
LineWidth ‘LineWidth’
0.5 (значение по умолчанию) | положительное значение
Ширина линии в виде положительного значения в точках, где 1 точка = 1/72 дюйма. Если у линии есть маркеры, ширина линии также влияет на края маркера.
Ширина линии не может быть более тонкой, чем ширина пикселя. Если вы устанавливаете ширину линии на значение, которое меньше ширины пикселя в вашей системе, отображения линии как один пиксель шириной.
Marker — Символ маркера
‘none’ (значение по умолчанию) | ‘o’ | ‘+’ | ‘*’ | ‘.’ | .
Символ маркера в виде одного из значений перечислен в этой таблице. По умолчанию объект не отображает маркеры. Определение символа маркера добавляет маркеры в каждой точке данных или вершине.
MarkerIndices — Индексы точек данных, в которых можно отобразить маркеры
1:length(YData) (значение по умолчанию) | вектор из положительных целых чисел | скалярное положительное целое число
Индексы точек данных, в которых можно отобразить маркеры в виде вектора из положительных целых чисел. Если вы не задаете индексы, то MATLAB отображает маркер в каждой точке данных.
Примечание
Чтобы видеть маркеры, необходимо также задать символ маркера.
Пример: plot(x,y,’-o’,’MarkerIndices’,[1 5 10]) отображает круговой маркер во-первых, пятые, и десятые точки данных.
Пример: plot(x,y,’-x’,’MarkerIndices’,1:3:length(y)) отображает перекрестный маркер каждые три точки данных.
Пример: plot(x,y,’Marker’,’square’,’MarkerIndices’,5) отображения один квадратный маркер в пятой точке данных.
MarkerEdgeColor — Цвет контура маркера
‘auto’ (значение по умолчанию) | триплет RGB | шестнадцатеричный цветовой код | ‘r’ | ‘g’ | ‘b’ | .
Цвет контура маркера в виде ‘auto’ , триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое название. Значение по умолчанию ‘auto’ использует тот же цвет в качестве Color свойство.
Для пользовательского цвета задайте триплет RGB или шестнадцатеричный цветовой код.
- Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1] ; например, [0.4 0.6 0.7] .
- Шестнадцатеричный цветовой код является вектором символов или строковым скаляром, который запускается с символа хеша ( # ) сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут лежать в диапазоне от 0 к F . Значения не являются чувствительными к регистру. Таким образом, цветовые коды ‘#FF8800’ , ‘#ff8800’ , ‘#F80’ , и ‘#f80’ эквивалентны.
Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB во многих типах графиков.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
MarkerFaceColor — Цвет заливки маркера
‘none’ (значение по умолчанию) | ‘auto’ | Триплет RGB | шестнадцатеричный цветовой код | ‘r’ | ‘g’ | ‘b’ | .
Цвет заливки маркера в виде ‘auto’ , триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое название. ‘auto’ опция использует тот же цвет в качестве Color свойство родительских осей. Если вы задаете ‘auto’ и поле графика осей невидимо, цвет заливки маркера является цветом фигуры.
Для пользовательского цвета задайте триплет RGB или шестнадцатеричный цветовой код.
- Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1] ; например, [0.4 0.6 0.7] .
- Шестнадцатеричный цветовой код является вектором символов или строковым скаляром, который запускается с символа хеша ( # ) сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут лежать в диапазоне от 0 к F . Значения не являются чувствительными к регистру. Таким образом, цветовые коды ‘#FF8800’ , ‘#ff8800’ , ‘#F80’ , и ‘#f80’ эквивалентны.
Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB во многих типах графиков.
![]()
![]()
![]()
![]()
![]()
![]()
![]()
MarkerSize ‘MarkerSize’
6 (значение по умолчанию) | положительное значение
Размер маркера в виде положительного значения в точках, где 1 точка = 1/72 дюйма.
DatetimeTickFormat — Формат для datetime метки в виде галочки
вектор символов | строка
Формат для datetime метки в виде галочки в виде разделенной запятой пары, состоящей из ‘DatetimeTickFormat’ и вектор символов или строка, содержащая формат даты. Используйте буквы A-Z и a-z создать пользовательский формат. Эти буквы соответствуют Unicode ® Стандарт языка разметки данных локали (LDML) для дат. Можно включать символы буквы non-ASCII, такие как дефис, пробел или двоеточие, чтобы разделить поля.
Если вы не задаете значение для ‘DatetimeTickFormat’ то plot автоматически оптимизирует и обновляет метки в виде галочки на основе пределов по осям.
Пример: ‘DatetimeTickFormat’,’eeee, MMMM d, yyyy HH:mm:ss’ отображает дату и время, такую как Saturday, April 19, 2014 21:41:06 .
Следующая таблица показывает несколько общих форматов отображения и примеров отформатированного вывода для даты, суббота, 19 апреля 2014 в 21:41:06 в Нью-Йорке.
| Значение DatetimeTickFormat | Пример |
|---|---|
| ‘yyyy-MM-dd’ | 2014-04-19 |
| ‘dd/MM/yyyy’ | 19/04/2014 |
| ‘dd.MM.yyyy’ | 19.04.2014 |
| ‘yyyy年 MM月 dd日’ | 2014年 04月 19日 |
| ‘MMMM d, yyyy’ | April 19, 2014 |
| ‘eeee, MMMM d, yyyy HH:mm:ss’ | Saturday, April 19, 2014 21:41:06 |
| ‘MMMM d, yyyy HH:mm:ss Z’ | April 19, 2014 21:41:06 -0400 |
Для полного списка допустимых идентификаторов буквы смотрите Format свойство для массивов datetime.
DatetimeTickFormat не свойство линии на графике. Необходимо установить формат метки деления с помощью аргумента пары «имя-значение» при создании графика. В качестве альтернативы установите формат с помощью xtickformat и ytickformat функции.
TickLabelFormat свойство линейки datetime хранит формат.
DurationTickFormat — Формат для duration метки в виде галочки
вектор символов | строка
Формат для duration метки в виде галочки в виде разделенной запятой пары, состоящей из ‘DurationTickFormat’ и вектор символов или строка, содержащая формат длительности.
Если вы не задаете значение для ‘DurationTickFormat’ то plot автоматически оптимизирует и обновляет метки в виде галочки на основе пределов по осям.
Чтобы отобразить длительность как, один номер, который включает дробную часть, например, 1,234 часа, задает одно из значений в этой таблице.
| Значение DurationTickFormat | Описание |
|---|---|
| ‘y’ | Номер точных лет фиксированной длины. Год фиксированной длины равен 365,2425 дням. |
| ‘d’ | Номер точных дней фиксированной длины. День фиксированной длины равен 24 часам. |
| ‘h’ | Номер часов |
| ‘m’ | Номер минут |
| ‘s’ | Номер секунд |
Пример: ‘DurationTickFormat’,’d’ значения длительности отображений в терминах дней фиксированной длины.
Чтобы отобразить длительность в форме цифрового таймера, задайте одно из этих значений.
- ‘dd:hh:mm:ss’
- ‘hh:mm:ss’
- ‘mm:ss’
- ‘hh:mm’
Кроме того, можно отобразить до девяти цифр доли секунды путем добавления до девяти S ‘characters’.
Пример: ‘DurationTickFormat’,’hh:mm:ss.SSS’ отображает миллисекунды значения длительности к трем цифрам.
DurationTickFormat не свойство линии на графике. Необходимо установить формат метки деления с помощью аргумента пары «имя-значение» при создании графика. В качестве альтернативы установите формат с помощью xtickformat и ytickformat функции.
TickLabelFormat свойство линейки длительности хранит формат.
