8. ДИАГРАММЫ И ГИСТОГРАММЫ
Наглядным способом представления векторных и матричных данных являются диаграммы и гистограммы. Значение элемента вектора пропорционально высоте столбика диаграммы (в случае столбчатой диаграммы) или площади сектора диаграммы (для круговой диаграммы). Гистограммы используются для получения информации о распределении данных по заданным интервалам.
Отображение вектора в виде столбчатой диаграммы осуществляется функцией bar . Запишите, например, вектор-строку
x = [1.2 1.7 2.2 2.4 2.5 1.3 1.1 0.5 0.4 0.1]
в переменную data и представьте ее столбчатой диаграммой, вызвав функцию bar с аргументом х – см. рис. 8.1 .
На экране появится графическое окно, содержащее столбчатую диаграмму вектор-строки. По горизонтальной оси откладывается номер элемента
вектора, а по вертикальной – его значение. Аргументом функции bar может
быть как вектор-строка, так и вектор-столбец ( рис. 8.2 ).
Разметку горизонтальной оси можно задать вектором с возрастающими значениями. В этом случае первый аргумент bar является вектором с коорди-
натами точек разметки, а второй – вектором значений, которые требуется отобразить на диаграмме. Удобно использовать этот способ построения диаграммы для отображения значений элементов векторов в зависимости не от их номера, а например, от времени, если в вектор записаны результаты измерений в некоторые моменты времени. Важно, чтобы длины этих векторов совпадали, иначе будет выдано сообщение об ошибке ( рис. 8.3 ).
Математическое программное обеспечение. Учебное пособие
8. ДИАГРАММЫ И ГИСТОГРАММЫ
8.1. Представление векторных данных
На рис. 8.4 пропущенные столбики соответствуют тем моментам времени, в которые измерения не производились.
Математическое программное обеспечение. Учебное пособие
8. ДИАГРАММЫ И ГИСТОГРАММЫ
8.1. Представление векторных данных
Выбор ширины столбцов осуществляется заданием третьего дополнительного аргумента. По умолчанию ширина равна 0.8. Диаграмма без промежутков между столбиками получается, если установить ширину, равную единице. Выбор значений, больших единицы, приводит к перекрывающимся
столбикам. В качестве примера отобразите функцию x ( t ) = sin t e t на отрезке
[–1, 1] в виде столбчатой диаграммы без промежутков, выполнив последовательность операций, показанную на рис. 8.5 .
Функция barh строит горизонтальную столбчатую диаграмму, т. е. повернутую на 90°. Для построения объемных диаграмм применяется функция b ar3 . Использование barh и bar3 аналогично bar .
Если требуется оценить вклад каждого из элементов вектора в общую сумму его элементов, то удобно построить круговую диаграмму при помощи
функции pie – см. рис. 8.6 .
Математическое программное обеспечение. Учебное пособие
8. ДИАГРАММЫ И ГИСТОГРАММЫ
8.1. Представление векторных данных
В результате получается диаграмма, в которой площади секторов отвечают процентному вкладу каждого из элементов вектора в общую сумму, т. е. MatLab нормирует значения, вычисляя
data / sum ( data )
Если сумма элементов вектора (аргумента pie ) больше или равна ед и-
нице, то MatLab производит нормировку и строит круг, состоящий из секторов. Если сумма меньше единицы, то нормировка не производится и получается круг с пропущенным сектором.
Часто необходимо отодвинуть от круга диаграммы сектор, соответствующий некоторому элементу. Это можно проделать, задав вторым аргумен-
том функции pie вектор, состоящий из единиц и нулей, причем единица стоит
в позиции, соответствующей номеру отделяемой части – см. рис. 8.7 . Можно отделить несколько секторов, расположив единицы во вспомо-
гательном векторе на подходящих позициях. Важно только, чтобы размеры векторов были одинаковы.
В качестве упражнения напишите команды построения диаграммы с отдельным сектором, соответствующим максимальному значению среди элементов вектора, автоматически создав вспомогательный вектор. Исполь-
зуйте функции zeros для создания нулевого вектора, той же длины, что x , и
Математическое программное обеспечение. Учебное пособие
8. ДИАГРАММЫ И ГИСТОГРАММЫ
8.1. Представление векторных данных
max с двумя выходными аргументами для поиска номера максимального
элемента в векторе x . На рис. 8.8 приведена требуемая последовательность команд для построения диаграммы с отдельным сектором.
Математическое программное обеспечение. Учебное пособие
8. ДИАГРАММЫ И ГИСТОГРАММЫ
8.1. Представление векторных данных
Рис. 8.8. Окончание
Визуализация векторных данных может быть осуществлена при помо-
Математическое программное обеспечение. Учебное пособие
8. ДИАГРАММЫ И ГИСТОГРАММЫ
8.1. Представление векторных данных
щи команд pie3 и bar3 , которые строят трехмерные круговые и столбчатые
диаграммы. Например, команды, показанные на рис. 8.9 , приводят к появлению трехмерной круговой диаграммы с отделенным сектором.
Обработка данных включает вопрос о том, сколько данных попало в тот или иной интервал. Для получения наглядного представления о распре-
делении данных служит функция hist . Например, команды, показанные на
рис. 8.10 , заполняют вектор x числами, распределенными по нормальному закону, разбивают интервал, которому они принадлежат, на десять равных частей (по умолчанию) и строят гистограмму попадания чисел в каждый из интервалов.
Для увеличения числа интервалов следует в качестве второго аргумента указать число интервалов, например, hist (data, 50) . Вместо автоматическо-
го разбиения на равные интервалы можно использовать собственное, задав вторым аргументом вектор, содержащий центры интервалов, приводящих к
Математическое программное обеспечение. Учебное пособие
8. ДИАГРАММЫ И ГИСТОГРАММЫ
8.1. Представление векторных данных
построению диаграммы, где звездочки на горизонтальной оси отмечают центры интервалов – см. рис. 8.11 .
Часто необходимо задать не центры, а границы интервалов. Для построения таких гистограмм следует использовать функцию histc в сочетании
с вышесказанной функцией bar . Функция histc возвращает вектор, содержащий число величин, попавших в заданные интервалы. При помощи функции bar с дополнительным аргументом ‘ histc ‘ полученный вектор представляется в виде гистограммы – рис. 8.12 .
Математическое программное обеспечение. Учебное пособие
8. ДИАГРАММЫ И ГИСТОГРАММЫ
8.1. Представление векторных данных
Функцию hist можно вызывать с одним или двумя выходными аргумен-
тами для получения массивов с информацией о распределении данных, при этом гистограмма не строится. В случае одного аргумента в него записывается вектор, содержащий распределение данных по интервалам. Пример на рис. 8.13
демонстрирует создание вектора count из пяти элементов, каждый из которых соответствует числу элементов из data , попавших в один из пяти интервалов.
Использование hist с двумя аргументами приводит к получению дополнительного вектора с информацией о расположении интервалов– см. рис. 8.14 .
Функция rose предназначена для построения угловых гистограмм (в
полярных координатах). Аргументом функции rose является вектор значений в радианах. Угловые гистограммы дают наглядное представление о данных,
Математическое программное обеспечение. Учебное пособие
8. ДИАГРАММЫ И ГИСТОГРАММЫ
8.1. Представление векторных данных
связанных с измерениями направлений.
Математическое программное обеспечение. Учебное пособие
8. ДИАГРАММЫ И ГИСТОГРАММЫ
8.1. Представление векторных данных
Функция rose , так же, как и hist , допускает получение информации о
распределении по интервалам и границах интервалов при вызове ее с выходными аргументами. Гистограмма в этом случае не отображается.
Если производятся измерения группы величин, то результат представляет собой матрицу. Для отображения матричных данных используются те же функции, что и для векторных данных.
Предположим, что в матрице DATA , состоящей из четырех строк и трех
столбцов содержатся результаты измерений трех величин за четыре момента времени. Для построения столбчатой диаграммы данных примените функ-
цию bar , задав в качестве аргумента массив DATA – см. рис. 8.15 .
В результате появляется диаграмма сгруппированных данных. На диаграмме расположены четыре группы данных, каждая из которых состоит из трех столбиков, соответствующих измеряемым величинам.
5.3. Bar — гистограмма
Гистограммы устроены очень просто, но изменяя различные параметры мы можем отобразить с их помощью очень много информации, а так же повысить как наглядность данных так и привлекательность самого графика.
Ширина прямоугольников
Чаще всего мы строим гистограммы из одиночных наборов данных, в таких случаях мы можем обойтись, вообще, без каких бы то ни было изменений графика. Просто строим одну или несколько гистограмм на одной области Figure:

Ширина прямоугольников подбирается автоматически и нас это, вполне, устраивает. Но если мы имеем дело с несколькими наборами данных, которые нужно отобразить в пределах одной области Axes, то прямоугольники начинают перекрывать друг друга:

В таких случаях, нам необходимо вручную задавать ширину с помощью параметра width и смещение прямоугольников в массиве x :

В некоторых ситуациях ширина прямоугольников, так же как и их высота, может быть пропорциональна некоторой величине. Что бы задать ширину каждого отдельного прямоугольника можно указать параметр width в виде массива чисел:

Выравнивание нижнего края прямоугольников
Разместить несколько гистограмм на одной области Axes можно не только с помощью горизонтального смещения и изменения ширины прямоугольников, но и с помощью параметра bottom , который задает значение по которому выравнивается нижний край прямоугольников:

Выравнивание для каждого прямоугольника можно задать с помощью массива:

Для того что бы состыковать прямоугольники нескольких наборов данных, достаточно выровнять одни прямоугольники по значениям других:

Для того что бы задать цвет всех прямоугольников достаточно указать его в параметре color :

Так же возможно задать цвет каждого отдельного прямоугольника, указав в параметре color массив цветов:

Не забывайте, что matplotlib поддерживает разные цветовые модели и форматы. Задавая цвет в модели RGBA вы можете контролировать прозрачность прямоугольников, что так же позволяет размещать несколько наборов данных, но без смещения:

Если вам необходимо выделить границу прямоугольников, то вы можете задать ее цвет ( edgecolor ) и толщину ( linewidth ):

Отображение погрешности
На гистограммах можно указывать погрешность измерения величины, как по горизонтали ( xerr ) так и вертикали ( xerr ):

Одно число задает одинаковую погрешность, массив чисел длинной x задает разную но симметричную погрешность для каждого прямоугольника, а массив чисел с формой (2, x) задает минимальное и максимальное значение погрешности для каждого прямоугольника:
MATLAB – Графика
Команда bar рисует двухмерную гистограмму. Давайте возьмем пример, чтобы продемонстрировать идею.
пример
Пусть у нас будет воображаемый класс с 10 учениками. Мы знаем, что процент оценок, полученных этими студентами, составляет 75, 58, 90, 87, 50, 85, 92, 75, 60 и 95. Мы нарисуем гистограмму для этих данных.
Создайте файл сценария и введите следующий код –
Когда вы запускаете файл, MATLAB отображает следующую гистограмму –

Рисование контуров
Линия контура функции двух переменных – это кривая, вдоль которой функция имеет постоянное значение. Контурные линии используются для создания контурных карт путем объединения точек равной высоты над данным уровнем, например среднего уровня моря.
MATLAB предоставляет функцию контура для рисования контурных карт.
пример
Создадим контурную карту, которая показывает контурные линии для данной функции g = f (x, y). Эта функция имеет две переменные. Итак, нам нужно будет сгенерировать две независимые переменные, то есть два набора данных x и y. Это делается путем вызова команды meshgrid .
Команда meshgrid используется для генерации матрицы элементов, которые задают диапазон по x и y, а также задают приращение в каждом случае.
Построим нашу функцию g = f (x, y), где −5 ≤ x ≤ 5, −3 ≤ y ≤ 3. Давайте возьмем приращение 0,1 для обоих значений. Переменные установлены как –
Наконец, нам нужно назначить функцию. Пусть наша функция будет: x 2 + y 2
Создайте файл сценария и введите следующий код –
Когда вы запускаете файл, MATLAB отображает следующую контурную карту –

Давайте немного изменим код, чтобы украсить карту
Когда вы запускаете файл, MATLAB отображает следующую контурную карту –

Трехмерные участки
Трехмерные графики в основном отображают поверхность, определенную функцией от двух переменных, g = f (x, y).
Как и прежде, чтобы определить g, мы сначала создаем набор точек (x, y) над областью функции, используя команду meshgrid . Далее мы назначаем саму функцию. Наконец, мы используем команду прибоя для создания графика поверхности.
Следующий пример демонстрирует концепцию –
пример
Давайте создадим трехмерную карту поверхности для функции g = xe – (x 2 + y 2 )
Создайте файл сценария и введите следующий код –
Когда вы запускаете файл, MATLAB отображает следующую трехмерную карту –

Вы также можете использовать команду сетки для создания трехмерной поверхности. Однако команда surf отображает как соединительные линии, так и грани поверхности в цвете, тогда как команда mesh создает поверхность каркаса с цветными линиями, соединяющими определяющие точки.
Построить график окружности в матлабе
Постройте окружность, используя центральную точку и радиус в MATLAB
Цель состоит в том, чтобы построить круг, используя центральную точку и радиус в MATLAB без использования встроенных функций для построения графика. Черно-белое изображение может быть представлено в виде матрицы 2 порядка. Первый порядок для строк, а второй порядок для столбцов, значение пикселя будет определять цвет пикселя на основе цветового формата оттенков серого.
Подходить :
- Нам даны точка и радиус. Пусть координаты центральной точки (x1, y1) и радиус — R.
- Мы находим расстояние от центральной точки до каждого пикселя (i, j) th.
- Теперь, если dist = R, т.е. радиус, мы делаем этот пиксель черным.
Ниже приведена реализация:
Код% MATLAB для построения круга с использованием центра и радиуса.
% создать белое изображение размером 300X600
I=zeros(300, 600)+1;
% Радиус окружности
R=50;
% координаты центральной точки
c=300;
r=150;
% доступ к каждому пикселю
% отображать изображение
figure, imshow(I);
Выход : 
Построить график окружности в матлабе
Обычная графика MATLAB
Построение графиков точками и отрезками прямых
Графики в логарифмическоми полулогарифмическом масштабе
Гистограммы и диаграммы
Графики специальных типов
Создание массивов данных для трехмерной графики
Построение графиков трехмерных поверхностей, сечений и контуров
Средства управления подсветкой и обзором фигур
Средства оформления графиков
Одновременный вывод нескольких графиков
Управление цветовой палитрой
Окраска трехмерных поверхностей
Одно из достоинств системы MATLAB — обилие средств графики, начиная от команд построения простых графиков функций одной переменной в декартовой системе координат и кончая комбинированными и презентационными графиками с элементами анимации, а также средствами проектирования графического пользовательского интерфейса (GUI). Особое внимание в системе уделено трехмерной графике с функциональной окраской отображаемых фигур и имитацией различных световых эффектов.
Описанию графических функций и команд посвящена обширная электронная книга в формате PDF. Объем материала по графике настолько велик, что помимо вводного описания графики в уроке 3 в этой книге даются еще два урока по средствам обычной и специальной графики. Они намеренно предшествуют систематизированному описанию большинства функций системы MATLAB, поскольку графическая визуализация вычислений довольно широко используется в последующих материалах книги. При этом графические средства системы доступны как в командном режиме вычислений, так и в программах. Этот урок рекомендуется изучать выборочно или выделить на него не менее 4 часов.
Построение графиков отрезками прямых
Функции одной переменной у(х) находят широкое применение в практике математических и других расчетов, а также в технике компьютерного математического моделирования. Для отображения таких функций используются графики в декартовой (прямоугольной) системе координат. При этом обычно строятся две оси — горизонтальная X и вертикальная Y, и задаются координаты х и у, определяющие узловые точки функции у(х). Эти точки соединяются друг с другом отрезками прямых, т. е. при построении графика осуществляется линейная интерполяция для промежуточных точек. Поскольку MATLAB — матричная система, совокупность точек у(х) задается векторами X и Y одинакового размера.
Команда plot служит для построения графиков функций в декартовой системе координат. Эта команда имеет ряд параметров, рассматриваемых ниже.
Приведенный ниже пример иллюстрирует построение графиков двух функций — sin(x) и cos(x), значения функции которых содержатся в матрице Y, а значения аргумента х хранятся в векторе X:
На рис. 6.1 показан график функций из этого примера. В данном случае отчетливо видно, что график состоит из отрезков, и если вам нужно, чтобы отображаемая функция имела вид гладкой кривой, необходимо увеличить количество узловых точек. Расположение их может быть произвольным.

Рис. 6.1. Графики двух функций в декартовой системе координат
Вот пример использования команды plot(Y):
Соответствующий график показан на рис. 6.2.

Рис. 6.2. График функции, представляющей вектор Y с комплексными элементами
Значениями константы S могут быть следующие символы.
Л-22 Элементы графической визуализации
Содержание
Графика в Mathcad
В среде Mathcad фактически нет графиков функций в математическом понимании термина, а есть визуализация данных, находящихся в векторах и матрицах (то есть осуществляется построение как линий так и поверхностей по точкам с интерполяцией), хотя пользователь может об этом и не знать, поскольку у него есть возможность использования непосредственно функций одной или двух переменных для построения графиков или поверхностей соответственно. Так или иначе, механизм визуализации Mathcad значительно уступает таковому у Matlab, где достаточно иметь только вид функции, чтобы построить график или поверхность любого уровня сложности. По сравнению с Matlab, графика Mathcad имеет ещё такие недостатки, как: невозможность построения поверхностей, заданных параметрически, с непрямоугольной областью определения двух параметров; создание и форматирование графиков только через меню, что ограничивает возможности программного управления параметрами графики.
Однако следует помнить об основной области применения Mathcad — для задач инженерного характера и создание учебных интерактивных документов, возможностей визуализации вполне достаточно. Опытные пользователи Mathcad демонстрируют возможность визуализации сложнейших математических конструкций, но объективно это уже выходит за рамки назначения пакета.
Графика в Matlab
Здесь мы ограничимся рассмотрением простейших графических средств, используемых в Matlab.
Построение графика функций одной переменной
Графики строятся в отдельных масштабируемых и перемещаемых окнах. Возьмем вначале простейший пример — построение графика синусоиды. Следует помнить, что Matlab строит графики функций по ряду точек, соединяя их отрезками прямых, т. е. осуществляя линейную интерполяцию функции в интервале между смежными точками. Зададим интервал изменения аргумента х от 0 до 10 с шагом 0.1. Для построения графика достаточно вначале задать вектор х=0:0.1:10, а затем использовать команду построения графиков plot(sin(x)). Результат показан на рис. 22.1.
>> x=0:0.1:10;
>> plot(sin(x))
Вектор х задает интервал изменения независимой переменной от 0 до 10 с шагом 0.1. Почему взят такой шаг, а не, скажем, 1? Дело в том, что plot строит не истинный график функции sin(x), а лишь заданное числом элементов вектора х число точек. Эти точки затем просто соединяются отрезками прямых, т. е. осуществляется кусочно-линейная интерполяция данных графика. При 100 точках полученная кривая глазом воспринимается как вполне плавная, но при 10-20 точках она будет выглядеть состоящей из отрезков прямых.
Графики Matlab строит в отдельных окнах, называемых графическими окнами. Меню графического окна, показанного на рис. 22.1, отличается от меню главного окна Matlab. Например, в меню окна появились позиции Tools (Инструменты) и Insert (Вставка). Средства этой панели (мы их рассмотрим подробнее в дальнейшем) позволяют легко управлять параметрами графиков и наносить на них текстовые комментарии в любом месте.
Меню File (Файл) окна графики содержит типовые файловые операции, в частности сохранение графических окон в файлы, и их открытия. Однако они относятся не к файлам документов, а к файлам графиков. В частности, можно присваивать имя записываемым на диск рисункам с графиками.

Рис. 22.1. Пример построения графика синусоиды
Построение в одном окне графиков нескольких функций
Пойдем дальше и попытаемся построить графики сразу трех функций: sin(x), cos(x) и sin(x)/х.
»yl=sin(x); y2=cos(x); y3=sin(x)/x.
Отметим, что переменные yl, y2, y3 в результате выполнения данных команд являются не функциями, а векторами, имеющими ту же размерность, что и вектор x. Поэтому эти переменные не имеют явного указания аргумента в виде у(х). Обратите внимание, что точка с запятой позволяет писать несколько команд в одной строке.
Теперь можно использовать одну из форм команды plot:
>> plot(xl,fl,x2,f2,x3,f3. )
где xl, x2, xЗ. — векторы аргументов функций (в нашем случае все они равны х), a f1, f2, f3. — векторы значений функций, графики которых строятся в одном окне. В нашем случае для построения графиков указанных функций мы должны записать следующее:
» plot(x,yl,x,y2,x,y3)
Можно ожидать, что Matlab в этом случае построит, как обычно, точки графиков этих функций и соединит их отрезками линий. Но если мы выполним эти команды, то графика третьей функции не получим. Не исключен даже сбой в работе программы. Причина этого в том, что при вычислении функции y3=sin(x)/x, если х представляет собой массив (вектор), то нельзя использовать оператор матричного деления /.
Этот пример еще раз наглядно указывает на то, что чисто поверхностное применение даже такой мощной системы, как Matlab, иногда приводит к досадным срывам. Чтобы все же получить график, надо вычислять отношение sin(x) к х с помощью оператора поэлементного деления массивов ./ (точка+слэш).

Рис. 22.2. Построение графиков трех функций
Обратите внимание на то, что хотя на этот раз Matlab построил графики всех трех функций, в окне командного режима может появиться предупреждение о делении на 0 — в момент, когда х=0 (при соответствующих настройках Matlab). Это говорит о том, что Matlab в некоторых случаях «может не знать» о том, что неопределенность sin(x)/x вида 0/0 устранимая и дает 1. Это недостаток практически всех систем для численных вычислений.
Графическая функция fplot
Разумеется, Matlab имеет средства для построения графиков и таких функций, как sin(x)/x, которые имеют устранимые неопределенности. Не обсуждая эти средства подробно, просто покажем, как это делается, с помощью другой графической команды —
fplot(‘f(x)’, [xmin xmax])
Она позволяет строить функцию, заданную в символьном виде, в интервале изменения аргумента х от xmin до xmax без фиксированного шага изменения х. Один из вариантов ее применения демонстрирует рис. 22.3.
» clear
» fplot(‘sin(x)/x’, [-15 15])
» grid on
Хотя в процессе вычислений предупреждение об ошибке (деление на 0) выводится, но график строится правильно, т.е. при х=0 sin(x)/x = l. Обратите также внимание на две используемые команды: clear (очистить)— очистка графического окна и grid on (сетка)— включение отображения сетки, которая строится пунктирными линиями.

Рис. 22.3. Построение графика sin(x)/x функцией fplot
Столбцовые диаграммы
В прикладных расчетах часто встречаются графики, именуемые столбцовыми диаграммами, отражающие содержание некоторого вектора V. При этом каждый элемент вектора представляется столбцом, высота которого пропорциональна значению элемента. Столбцы нумеруются и масштабируются по отношению к максимальному значению наиболее высокого столбца. Выполняет построение такого графика команда bar(V) (рис. 22.4).
>> V=1:8
V =
1 2 3 4 5 6 7 8
>> bar(V)

Рис. 22.4. Построение столбцовой диаграммы значений элементов вектора
Столбцовые диаграммы — лишь один из многих типов графиков, которые может строить система Matlab. Особенно часто столбцовые диаграммы используются при представлении данных финансово-экономических расчетов.
Построение трехмерных графиков
Столь же просто обеспечивается построение графиков сложных поверхностей. Надо только знать, какой командой реализуется тот или иной график. Например, для построения графика поверхности и ее проекции в виде контурного графика на плоскость под поверхностью достаточно использовать следующие команды:
» [X,Y]=meshgrid(-5:0.1:5);
» Z=X.*sin(X+Y);
» meshc(X,Y,Z)
Окно с построенным графиком показано на рис. 22.5.

Рис. 22.5. Окно с графиками поверхности и ее проекции на плоскость под фигурой
В Matlab можно в считанные секунды изменить задающую поверхность функцию Z(X, Y) и тут же получить новый график поверхности с окраской, в данном случае заданной вектором Z, и с ее проекцией на плоскость XY.
Мы ограничимся этими примерами построения графиков как достаточно простыми и типовыми. Из них следует важный вывод — для решения той или иной частной задачи надо знать соответствующие команды и функции.
Вращение графиков мышью
Можно поворачивать построенную фигуру мышью и наблюдать ее под разными углами. Рассмотрим эту возможность на примере построения логотипа системы Matlab — мембраны. Для этого, введя команду membrane, получим график, представленный на рис.22. 6.

Рис. 22.6. Построение мембраны — логотипа системы Matlab
Для вращения графика достаточно активизировать кнопку панели инструментов с изображением пунктирной окружности со стрелкой (рис. 22.6).
Теперь, введя курсор мыши в область графика и нажав левую кнопку мыши, можно круговыми движениями заставить график вращаться вместе с обрамляющим его параллелепипедом.
Контекстное меню графиков
Для переключения в режим редактирования графика можно ваполнить команду меню Tools / Edit Plot или щелкнуть на кнопке Edit Plot (Редактировать график) с изображением курсора-стрелки. В этом режиме графиком можно управлять с помощью контекстного меню, вызываемого щелчком правой кнопки мыши. Вид этого меню при курсоре, расположенном в графика вне построенных графических объектов, показан на рис. 22.7. С помощью мыши можно также выделить график. Щелчок левой клавишей выводит рамку вокруг рисунка (см. рис. 22.7).

Рис. 22.7. График в состоянии редактирования и контекстное меню
Форматирование свойств графиков
Matlab имеет возможность легко настраивать и корректировать свойства графиков с помощью специальных средств. Одним из них является редактор свойств (Property Editor). Редактор свойств можно вызвать через команду главного меню View / Property Editor или через команду контекстного меню Show Property Editor. Вид редактора свойств зависит от того, какой элемент графика выделен. Например, на рис. 22.8 выделена рамка, а на рис. 22.9 выделена линия графика.

Рис. 22.8. Выделена рамка

Рис. 22.9. Выделена линия графика
Форматирование линий и маркеров для графика нескольких функций
Если строится график нескольких функций, то можно форматировать линии и маркеры каждой кривой отдельно. Выполним следующие команды:
» x=-2:.1:5;
» plot(x,sin(x),x,sin(x).^3,x,sin(x).^5);
Обратите внимание на то, как заданы степени синуса. Записать эти выражения в виде sin(x)^2 и cos(x)^2 будет грубейшей ошибкой, поскольку х здесь вектор. Операторы .^ в данном случае дают поэлементное возведение в степень, что и нужно для построения графиков этих функций. Рис. 10 показывает пример такого форматирования для графика, полученного исполнением этих команд.

Рис. 22.10. Пример форматирования для графика трех функций
Надписи на графиках могут быть сделаны на русском языке, только если компьютер корректно оснащен должным набором шрифтов. Средства форматирования надписей дают обширные возможности по выбору набора шрифтов, их стиля, размеров символов и их цвета.
Нанесение надписей и стрелок на график
Надписи на график можно нанести с помощью панели инструментов Plot Edit Toolbar (рис. 22.11). Место надписи фиксируется щелчком мыши.

Рис. 22.11. Инструменты для нанесения надписей
На рис. 22.12 показан отформатированный график с тремя надписями. Надписи сделаны с разным размером символов и разным стилем. Обратите внимание, что при задании на надписи возведения в степень знаком ^ надпись на экране отображается в естественном математическом виде (степень в виде верхнего индекса).

Рис. 22.12. Нанесение надписей на график
Как видно на рисунке, параметры выделенной надписи можно изменять как минимум тремя способами:
- с помощью редактора свойств;
- с помощью панели инструментов Plot Edit Toolbar;
- с помощью контекстного меню.
Полученную таким образом надпись можно выделить и перенести мышью в любое другое место. На рис. 22.12, в частности, показаны надписи со стрелками, созданные с помощью соответствующей кнопки панели инструментов. Это стрелку в режиме редактирования графика также можно перемещать и вращать мышью, а также менять ее длину. Можно также наносить на график обычные линии (без стрелки) и простейшие геометрические фигуры.
Построение легенды на графике
Дополнительно можно изменить размеры графика (см. меню Tools (Инструменты) и его команды Zoom In (Увеличить)и Zoom Out (Уменьшить)), выполнить поворот графика мышью (команда Rotate 3D) и подключить к графику легенду — пояснение в виде отрезков линий со справочными надписями, размещаемое внутри графика или около него. Поскольку наш график содержит три кривые, то легенда представляет собой обозначение этих трех линий в правом верхнем углу рисунка (рис. 22.13). Каждая линия имеет тот же цвет, что и на графике (и тот же стиль).

Рис. 22.13. График с легендой
Текстовая часть легенды берется из параметра Display Name редактора свойств (см. рис. 22.14).

Рис. 22.14. Задание имени графика для легенды в редакторе свойств для выделенного графика
Отметим, что все описанные возможности форматирования графиков доступны и программным способом, путем задания соответствующих графических команд, параметров и примитивов. Например команда text(х,у, ‘legend’) позволяет задать надпись ‘legend‘ с началом, имеющим координаты (х, у).