"Вычисления, визуализация и программирование в среде MATLAB 5.x" - читать интересную книгу автора (Мартынов Н. Н., Иванов А. П.)

xlabel( 'x coordinate' ); ylabel( 'sin(x)' ); text( 2.1, 0.9, 'Ueftarrowsin(x) ' ); grid on;
придаем графику функции следующий вид (см. рис. 2.10).
Г-ТЩх]
«Figure No. 1
File Edit: 2 г—
йй Function sin(x) graph
""":"' ¦¦¦" '
1.5
0.5
2.25
2.5
*йх coordinate
Рисунок 2.10
Надпись функцией text помещается начиная от точки с координатами, указанными первыми двумя аргументами. По умолчанию координаты задаются в тех же единицах измерения, что и координаты, указанные на горизонтальной и вертикальной осях. Специальные управляющие символы вводятся внутри текста после символа \ (обратная косая черта). В примере мы ввели таким образом специальный символ «стрелка влево». Обозначения для специальных символов совпадают с таковыми в системе подготовки научных текстов ТеХ. В частности, для вывода части текста в следующую строку применяется управляющий символ newline.
Чтобы воздействовать на шрифт, которым изображается надпись, нужно запомнить описатель (дескриптор), возвращаемый этой функцией:
hText = text( 2.1, 0.9, 'Ueftarrowsin(x) ' );
Это описатель графического объекта типа text. Кстати, если нужно узнать, какой тип графического объекта представляет некоторый описатель, то для этого нужно вызвать функцию get, запросив у нее свойство ' Туре':
type = get( hText, 'Type' ) type = text
MATLAB 5.x. Вычисления, визуализация, программирование 59
Располагая описателем объекта типа text, можно изменять ряд его атрибутов. Например, фрагмент кода на М-языке
set( hText, 'Color', [010], 'FontSize', [18] );
изменит внешний вид ранее выведенной надписи - теперь используется более крупный шрифт, а цвет надписи стал зеленым.
Завершая рассказ о способах оформления графиков функций, изменим цвет фона, на котором эти графики рисуются. По умолчанию этот цвет белый. Сделаем его слегка зеленоватым, присвоив цветовому свойству объекта типа axes значение [0.5,0.8,0.5]. Но сначала надо получить описатель этого объекта:
hAxes = gca;
Функция gca предназначена для поиска описателя текущего объекта axes. Так как у нас имеется единственный объект axes, то проблемы выбора нет. Если бы было несколько областей, в которых рисуются графики функций, то есть несколько объектов типа axes, то в этом случае сначала нужно щелкнуть мышью на том из них, который должен стать текущим, и только после этого вводить представленный выше код.
Сменить цвет фона легко:
set( hAxes, 'Color', [ 0.5,0.8,0.5] ); Аналогично меняем цвет фона всего графического окна:
FigureColor = [ 0.8,0.5,0.5]; hFigure = gcf; set( hFigure, 'Color', FigureColor );
где с помощью функции gcf мы получаем описатель объекта типа figure, представляющего графическое окно, а далее меняем цвет его фона на красноватый. В результате вместо рисунка, показанного нами ранее для иллюстрации использования жирных линий при показе графика функции sin, мы получаем то же самое графическое окно, в котором цвета фона всего окна и области вывода графика уже иные. При черно-белой печати это видно лишь приблизительно, однако вот полученное при этом изображение (см. рис. 2.11):
Здесь мы еще вывели произвольный (шутливый) текст, расположив его в двух строках:
text( 1, 0.3,'Very good\newlinetext' ); а также обвели этот текст прямоугольной рамкой:
line([0.8,0.8,2,2,0.8], [0.2,0.45,0.45,0.2,0.2]);
где в качестве первого аргумента функции line (конструктор графического объекта типа line) использована вектор-строка первых координат углов прямоугольника, а второй аргумент есть вектор'строка вторых координат этих точек.
60
Глава 2. Визуализация результатов вычислений
1 Figure No. 1
File Edit Window Help
i;jO'5 4""V|'2"-
'2 5'* ___и___^j_jl! Рисунок 2.11
Разнообразные графические средства системы MATLAB (как высокоуровневые функции, так и низкоуровневые графические объекты) позволяют получить наглядные и хорошо документированные графики функций.
Специальная графика системы MATLAB
Специальная графика системы MATLAB направлена в первую очередь не на выявление функциональных зависимостей между переменными, а на визуализацию информации, накопленной в виде больших массивов числовых данных.
Для визуализации данных, накопленных в одномерном массиве, хорошо подходит специальная графическая функция системы MATLAB - функция bar. Будучи примененной к вектору х,
4 1 8 3 7 4]; bar( х );
х =
она порождает наглядную столбцовую диаграмму (см. рис. 2.12).
•i Figure No. 1
Б1е Edit
Це1р
Рисунок 2.12