КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Заголовок и подписи осей это текстовые объекты, потомки осей
При создании осей MATLAB создает сразу четыре потомка осей - текстовые объекты для заголовка и подписей для каждой из трех осей. Однако, если создать оси hA = axes('CameraPosition', [-4 -5 5], 'Box', 'on')и попытаться получить указатели на их потомков при помощи функции get и свойства Children осей, то мы получим пустой массив get(hA,'Children')ans = Empty matrix: 0-by-1Так происходит потому, что в MATLAB по умолчанию эти четыре потомка осей имеют скрытые указатели и функция get их "не видит". Изменение этой установки производится с уровня объекта Root - корневого объекта в иерархии графических объектов MATLAB. Указатель на корневой объект всегда равен нулю, а за отображение скрытых указателей отвечает свойство ShowHiddenHandles корневого объекта. Если оно имеет значение 'off' (как по умолчанию), то объекты со скрытыми указателями не видны, а если 'on', то видны. Скрытие указателей используется для предотвращения случайного изменения пользователем вида графических объектов (см. разделе Скрытие указателей объектов приложения с GUI). Установим свойство корневого объекта ShowHiddenHandles в 'on' и снова применим функцию get для получения указателей на потомков осей: Действительно, оси содержат четырех потомков, которые являются текстовыми объектами, в чем несложно убедиться, обратившись к их свойству Type: get(h, 'Type') ans = 'text' 'text' 'text' 'text'Примечание. Функция get допускает задание массива указателей в качестве ее первого входного аргумента. В этом случае она возвращает результат в массиве ячеек (в нашем примере ans), каждая строка которого содержит значение свойства Type соответствующего графического объекта. То, что MATLAB должен скрывать указатели на эти текстовые объекты при значении 'off' свойства ShowHiddenHandles корневого объекта, определяется значениями свойства HandleVisibility текстовых объектов. В данном случае значение свойства HandleVisibility всех четырех потомков осей есть 'off' get(h, 'HandleVisibility') ans = 'off' 'off' 'off' 'off'Итак, в массиве h содержится четыре указателя:
Если Вы проделали приведенные выше команды, то теперь желательно вернуть свойству ShowHiddenHandles корневого объекта его первоначальное значение: Используя свойства текстовых объектов, рассмотренные выше в разделе Текстовый объект, вывод текста и математических формул в графическое окно, легко настроить вид заголовка и подписей к осям по своему усмотрению. На самом деле этот пример с доступом к скрытым указателям к текстовым объектам был приведен только для того, чтобы убедиться, что создаваемые оси действительно имеют четырех потомков - текстовые объекты. Указатели на эти объекты могут быть получены при помощи свойств Title, XLabel, YLabel и Zlabel осей. Изменение свойств заголовка и подписей осей может быть выполнено при помощи высокоуровневых функций title, xlabel, ylabel и zlabel, которые допускают следующие способы вызова: Здесь пары 'Свойство'-значение это название свойства текстового объекта и его возможное значение. Например, для получения заголовка, состоящего из нескольких строк, достаточно указать массив ячеек, каждая ячейка которого содержит нужную строку (см. Вывод многострочного текста) title({'Results'; 'of my experiment'})Функции xlabel, ylabel и zlabel также допускают подписи к той паре осей, указатель на которую задан в их первом входном аргументе, например: xlabel (указатель на оси, 'подпись к оси x', 'Свойство', значение, 'Свойство', значение,...)При таком же способе обращения к функции title выводится ошибка, однако имеется функция title4ax (4 значит for, созвучное с four, а ax - axes), которая предназначена для вывода заголовка на определенные оси: title4ax (указатель на оси, 'текст заголовка', 'Свойство', значение, 'Свойство', значение,...)Впрочем, всегда можно узнать, какие оси текущие при помощи функции gca, которая возвращает указатель на текущие оси, затем вызывать функцию axes и сделать текущими нужные оси, разместить на них заголовок и подписи, а затем использовать функцию axes для того, чтобы вернуть предыдущее состояние осей: hA0=gca % узнаем указатель на текущие оси axes(hA) % делаем текущими оси с указателем hA title('Заголовок') axes(hA0) % делаем текущими оси с указателем hA0, как и было раньше
Дата добавления: 2015-06-04; Просмотров: 450; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |