Пакет MatLab позволяет отображать графики с разным цветом и типом линий, показывать или скрывать сетку на графике, выполнять подпись осей и графика в целом, создавать легенду и многое другое. В данном параграфе рассмотрим наиболее важные функции, позволяющие делать такие оформления на примере двумерных графиков.
Функция plot() позволяет менять цвет и тип отображаемой линии. Для этого, используются дополнительные параметры, которые записываются следующим образом:
plot(<x>, <y>, <’цвет линии, тип линии, маркер точек’>);
Обратите внимание, что третий параметр записывается в апострофах и имеет обозначения, приведенные в таблицах 3.1-3.3. Маркеры, указанные ниже записываются подряд друг за другом, например,
‘ko’ – на графике отображает черными кружками точки графика,
‘ko-‘ – рисует график черной линией и проставляет точки в виде кружков.
Табл. 3.1. Обозначение цвета линии графика
Маркер | Цвет линии |
c | голубой |
m | фиолетовый |
y | желтый |
r | красный |
g | зеленый |
b | синий |
w | белый |
k | черный |
Табл. 3.2. Обозначение типа линии графика
Маркер | Цвет линии |
- | непрерывная |
-- | штриховая |
: | пунктирная |
-. | штрих-пунктирная |
Табл. 3.3. Обозначение типа точек графика
Маркер | Цвет линии |
. | точка |
+ | плюс |
* | звездочка |
o | кружок |
x | крестик |
Ниже показаны примеры записи функции plot() с разным набором маркеров.
x = 0:0.1:2*pi;
y = sin(x);
subplot(2,2,1); plot(x,y,'r-');
subplot(2,2,2); plot(x,y,'r-',x,y,'ko');
subplot(2,2,3); plot(y,'b--');
subplot(2,2,4); plot(y,'b--+');
Результат работы фрагмента программы приведен на рис. 3.7. Представленный пример показывает, каким образом можно комбинировать маркеры для достижения требуемого результата. А на рис. 3.7 наглядно видно к каким визуальным эффектам приводят разные маркеры, используемые в программе. Следует особо отметить, что в четвертой строчке программы по сути отображаются два графика: первый рисуется красным цветом и непрерывной линией, а второй черными кружками заданных точек графика. Остальные варианты записи маркеров очевидны.
Рис. 3.7. Примеры отображения графиков с разными типами маркеров
Из примеров рис. 3.7 видно, что масштаб графиков по оси Ox несколько больше реальных значений. Дело в том, что система MatLab автоматически масштабирует систему координат для полного представления данных. Однако такая автоматическая настройка не всегда может удовлетворять интересам пользователя. Иногда требуется выделить отдельный фрагмент графика и только его показать целиком. Для этого используется функция axis() языка MatLab, которая имеет следующий синтаксис:
axis([ xmin, xmax, ymin, ymax ]),
где название указанных параметров говорят сами за себя.
Воспользуемся данной функцией для отображения графика функции синуса в пределах от 0 до :
x = 0:0.1:2*pi;
y = sin(x);
subplot(1,2,1);
plot(x,y);
axis([0 2*pi -1 1]);
subplot(1,2,2);
plot(x,y);
axis([0 pi 0 1]);
Из результата работы программы (рис. 3.8) видно, что несмотря на то, что функция синуса задана в диапазоне от 0 до , с помощью функции axis() можно отобразить как весь график, так и его фрагмент в пределах от 0 до .
Рис. 3.8. Пример работы функции axis()
В заключении данного параграфа рассмотрим возможности создания подписей графиков, осей и отображения сетки на графике. Для этого используются функции языка MatLab, перечисленные в табл. 3.4.
Таблица 3.4. Функции оформления графиков
Название | Описание |
grid [on, off] | Включает/выключает сетку на графике |
title(‘заголовок графика’) | Создает надпись заголовка графика |
xlabel(‘подпись оси Ox’) | Создает подпись оси Ox |
ylabel(‘подпись оси Oy’) | Создает подпись оси Oy |
text(x,y,’текст’) | Создает текстовую надпись в координатах (x,y). |
Рассмотрим работу данных функций в следующем примере:
x = 0:0.1:2*pi;
y = sin(x);
plot(x,y);
axis([0 2*pi -1 1]);
grid on;
title('The graphic of sin(x) function');
xlabel('The coordinate of Ox');
ylabel('The coordinate of Oy');
text(3.05,0.16,'\leftarrow sin(x)');
Из результата работы данной программы, представленного на рис. 3.9, видно каким образом работают функции создания подписей на графике, а также отображение сетки графика.
Таким образом, используя описанный набор функций и параметров, можно достичь желаемого способа оформления графиков в системе MatLab.
Рис. 3.9. Пример работы функций оформления графика