Управляйте внешним видом и поведением окна рисунка
Свойства, перечисленные здесь, допустимы для фигур, используемых в GUIDE или фигурах, созданных с функцией figure
. Для фигур, созданных с функцией uifigure
, смотрите UI Figure Properties.
Фигуры являются контейнерами для графических или компонентов пользовательского интерфейса. Полагайте, что свойства управляют внешним видом и поведением конкретного экземпляра фигуры. Чтобы изменить аспекты фигуры, измените значения свойств.
Начиная с R2014b, вы можете использовать запись через точку для того, чтобы запросить и задать свойства.
f = figure; u = f.Units; f.Units = 'inches';
Если вы используете более раннюю версию, используйте вместо этого функции get и set.
MenuBar
Изобразите отображение панели меню'figure'
(значение по умолчанию) | 'none'
Изобразите отображение панели меню, заданное как 'figure'
или 'none'
. Свойство MenuBar
позволяет вам отобразить или скрыть меню по умолчанию наверху окна рисунка. Задайте 'figure'
, чтобы отобразить панель меню. Задайте 'none'
, чтобы скрыть его.
Это свойство влияет только на меню по умолчанию и не влияет на меню, заданные с командой uimenu
.
Панели меню не кажутся в цифрах, чье свойство WindowStyle
установлено в 'Modal'
. Если фигура, содержащая uimenu дочерние элементы, изменяется на 'Modal'
, uimenu дочерние элементы все еще существуют в свойстве Children
фигуры. Однако uimenus не отображаются, в то время как WindowStyle
установлен в 'Modal'
.
Если вы не хотите отображать меню по умолчанию в фигуре, то установленный это свойство в 'none'
, когда вы создаете фигуру.
ToolBar
— Figure'auto'
(значение по умолчанию) | 'figure'
| 'none'
Изобразите отображение панели инструментов, заданное как одно из следующего:
'auto'
Использует то же значение в качестве свойства MenuBar
.
фигура
Отображения панели инструментов.
'none'
Панель инструментов не отображается.
Это свойство влияет только на панель инструментов по умолчанию. Это не влияет на другие панели инструментов такой как, Панель инструментов Редактирования Панели инструментов или Графика Камеры. Выбор Figure Toolbar от фигуры меню View устанавливает это свойство на 'figure'
.
Панели инструментов не кажутся в цифрах, чье свойство WindowStyle
установлено в 'Modal'
. Если фигура, содержащая панель инструментов, изменяется на 'Modal'
, дочерние элементы панели инструментов все еще существуют в свойстве Children
фигуры. Однако панель инструментов не отображается, в то время как WindowStyle
установлен в 'Modal'
.
Если вы хотите скрыть панель инструментов по умолчанию, то установленный это свойство в 'none'
, когда вы создаете фигуру.
DockControls
Интерактивная фигура, прикрепляющаяся'on'
(значение по умолчанию) | 'off'
Интерактивная фигура, прикрепляющаяся, заданный как одно из следующего:
'on'
— Фигура может быть прикреплена в рабочем столе MATLAB®. Пункт меню Desktop> Dock Figure и кнопка Dock Figure в панели меню включены.
'off'
MATLAB отключает пункт меню Desktop> Dock Figure и не отображает кнопку прикрепления фигуры.
Вы не можете установить свойство DockControls
на 'off'
, если WindowStyle
установлен в 'docked'
.
Установка свойства DockControls
не поддержана в MATLAB Online™.
Color
— BackgroundColor 'r'
| 'g'
| 'b'
|...Цвет фона, заданный как триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое название. Если вы задаете 'none'
, цвет фона кажется черным на экране, но если вы распечатываете фигуру, фоновая печать, как будто окно рисунка прозрачно.
Для пользовательского цвета задайте триплет RGB или шестнадцатеричный цветовой код.
Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7].
Шестнадцатеричный цветовой код является вектором символов или скаляром строки, который запускается с символа хеша (#
), сопровождаемый тремя или шестью шестнадцатеричными цифрами, которые могут колебаться от 0
до F
. Значения не являются чувствительными к регистру. Таким образом цветовые коды '#FF8800'
, '#ff8800'
, '#F80'
и '#f80'
эквивалентны.
Кроме того, вы можете задать имена некоторых простых цветов. Эта таблица приводит опции именованного цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.
Название цвета | Краткое название | Триплет RGB | Шестнадцатеричный цветовой код | Внешний вид |
---|---|---|---|---|
'red' | 'r' | [1 0 0] | '#FF0000' | |
'green' | 'g' | [0 1 0] | '#00FF00' | |
'blue' | 'b' | [0 0 1] | '#0000FF' | |
'cyan'
| 'c' | [0 1 1] | '#00FFFF' | |
'magenta' | 'm' | [1 0 1] | '#FF00FF' | |
'yellow' | 'y' | [1 1 0] | '#FFFF00' | |
'black' | 'k' | [0 0 0] | '#000000' | |
'white' | 'w' | [1 1 1] | '#FFFFFF' | |
'none' | Не применяется | Не применяется | Не применяется | Нет цвета |
Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB во многих типах графиков.
Триплет RGB | Шестнадцатеричный цветовой код | Внешний вид |
---|---|---|
[0 0.4470 0.7410] | '#0072BD' | |
[0.8500 0.3250 0.0980] | '#D95319' | |
[0.9290 0.6940 0.1250] | '#EDB120' | |
[0.4940 0.1840 0.5560] | '#7E2F8E' | |
[0.4660 0.6740 0.1880] | '#77AC30' | |
[0.3010 0.7450 0.9330] | '#4DBEEE' | |
[0.6350 0.0780 0.1840] | '#A2142F' |
Типы данных: double
| char
WindowStyle
WindowStyle 'normal'
(значение по умолчанию) | 'modal'
| 'docked'
Стиль окна, заданный как одно из следующего:
'normal'
— Окно рисунка независимо от других окон, и другие окна доступны, в то время как фигура отображается.
'modal'
— Фигура отображается сверху всех существующих окон рисунка, делая их недоступными, пока главная фигура существует и остается модальной. Однако любые последние данные, созданные после модальной фигуры, отобразятся.
Когда несколько модальных окон существуют, последний раз созданное окно сосредотачивает внимание и остается, прежде всего, другие окна, пока это не становится невидимым, или возвращено в нормальный стиль окна или удалено. В то время особое внимание возвращается к окну, которое в последний раз сфокусировалось.
'docked'
— Фигура отображается в рабочем столе или окне документа. Когда свойство WindowStyle
установлено в 'docked'
, вы не можете установить свойство DockControls
на 'off'
. Опция 'docked'
не поддержана в MATLAB Online.
Это некоторые важные характеристики свойства WindowStyle
и некоторые рекомендуемые лучшые практики:
Когда вы создаете окна UI, всегда задаете свойство WindowStyle
. Если вы также хотите установить Resize
, Position
или свойства OuterPosition
фигуры, то установленный свойство WindowStyle
сначала.
Можно изменить свойство WindowStyle
фигуры в любое время, включая то, когда фигура видима и содержит дочерние элементы. Однако в некоторых системах, устанавливая это свойство может заставить фигуру высвечиваться или исчезать и вновь появляться, в зависимости от реализации системы нормальных и модальных окон. Для лучших визуальных результатов, устанавливает свойство WindowStyle
во время создания или когда фигура невидима.
Вызов reset
на фигуре не изменяет значение свойства WindowStyle
.
Когда WindowStyle
установлен в 'modal'
, окно рисунка захватывает всю клавиатуру и действия мыши по всем окнам MATLAB, пока окна видимы. Windows, принадлежащий приложениям кроме MATLAB, незатронут.
Ввод Ctrl+C, когда модальная фигура фокусируется причины, которые фигурируют, чтобы вернуться к
установке свойства 'normal'
WindowStyle
. Это позволяет пользователю вводить в командной строке.
Фигуры с набором свойств WindowStyle
к 'modal'
и набором свойств Visible
к 'off'
не ведут себя модально, пока MATLAB не делает их видимыми. Поэтому можно скрыть модальное окно для более позднего повторного использования, вместо того, чтобы уничтожить его.
Модальные фигуры не делают дочерних элементов меню отображения, встроенных меню или панелей инструментов. Но, это не ошибка создать меню в модальной фигуре или изменить настройки свойства WindowStyle
к 'modal'
на фигуре с дочерними элементами меню. Объекты Menu
существуют, и фигура сохраняет их. Если вы сбрасываете свойство WindowStyle
фигуры к 'normal'
, отображению меню.
WindowState
— Статус окна'normal'
(значение по умолчанию) | 'minimized'
| 'maximized'
| 'fullscreen'
Статус окна, заданный как одно из этих значений:
'normal'
— Окно отображается в нормальном состоянии.
'minimized'
— Окно сворачивается, но можно все еще выполнить команды, чтобы получить или установить его свойства, добавить дочерние элементы или создать графики в окне.
'maximized'
— Окно заполняет экран. Минимизирование, восстановление и близкие кнопки, обеспеченные операционной системой, появляются в углу окна. Если окно имеет меню и панели инструментов на нормальном состоянии, они присутствуют в этом состоянии.
'fullscreen'
— Окно заполняет экран. Однако минимизирование, восстановление и близкие кнопки, обеспеченные операционной системой, скрыты. Если окно имеет меню и панели инструментов на нормальном состоянии, они присутствуют в этом состоянии.
При нажатии на минимизирование максимизируйте, или кнопка восстановления, обеспеченная операционной системой, устанавливает свойство WindowState
соответственно. Нажатие Ctrl+F11 (Windows® и Linux®) или Ctrl+Command+f (Mac OS) переключает состояние 'fullscreen'
.
Установка свойства WindowState
на прикрепленной фигуре или в MATLAB Online не поддержана.
Position
— Местоположение и размер области векторной и растровой графики[left bottom width height]
Местоположение и размер области векторной и растровой графики, заданной как вектор формы [left bottom width height]
. Эта область исключает границы фигуры, строку заголовка, панель меню и панели инструментов.
Эта таблица описывает каждый элемент в векторе Position
.
Элемент | Описание |
---|---|
left | Расстояние от левого края главного дисплея к внутреннему левому краю окна. Это значение может быть отрицательным в системах, которые имеют больше чем один монитор. Если фигура прикрепляется, то это значение относительно панели фигуры в рабочем столе MATLAB. |
bottom | Расстояние от базового края главного дисплея к внутреннему базовому краю окна. Это значение может быть отрицательным в системах, которые имеют больше чем один монитор. Если фигура прикрепляется, то это значение относительно панели фигуры в рабочем столе MATLAB. |
width | Расстояние между правыми и левыми внутренними краями фигуры. |
height | Расстояние между верхними и нижними внутренними краями окна. |
Все измерения указаны в единицах, заданных свойством Units.
Вы не можете задать фигуру свойство Position
, когда фигура прикрепляется.
В MATLAB Online проигнорированы bottom
и элементы left
вектора Position
.
Чтобы поместить полное окно, включая границы, строку заголовка, панель меню, панели инструментов, использует свойство OuterPosition
.
Операционная система Windows осуществляет минимальную ширину окна и максимальный размер окна. Если вы зададите размер фигуры за пределами тех пределов, отображенная фигура будет соответствовать пределам вместо размера, который вы задали.
Модули
Модули измерения'pixels'
(значение по умолчанию) | 'normalized'
| 'inches'
| 'centimeters'
| 'points'
| 'characters'
Модули измерения, заданного как одно из значений из этой таблицы.
Модульное значение | Описание |
---|---|
'pixels' (значение по умолчанию) | 'pixels'. Начиная в R2015b, расстояния в пикселях независимы от вашего системного разрешения по системам Макинтоша и Windows:
В системах Linux размер пикселя определяется вашим системным разрешением. |
'normalized' | Эти модули нормированы относительно родительского контейнера. Нижний левый угол контейнера сопоставляет с (0,0) , и верхний правый угол сопоставляет с (1,1) . |
'inches' | 'inches'. |
'centimeters' | 'centimeters'. |
'points' | 'points'. Одна точка равняется 1/72-й из дюйма. |
'characters' | Эти модули основаны на шрифте uicontrol по умолчанию графического корневого объекта:
Чтобы получить доступ к шрифту uicontrol по умолчанию, используйте |
MATLAB измеряет все модули от левого нижнего угла родительского объекта.
Это свойство влияет на свойство Position
. Если вы изменяете свойство Units
, полагаете, что возвращение его значения к значению по умолчанию после завершения вашего вычисления старается не влиять на другие функции, которые принимают значение по умолчанию.
Порядок, в котором вы задаете свойства Units
и Position
, имеет эти эффекты:
Если вы задаете Units
перед свойством Position
, то MATLAB устанавливает Position
с помощью модулей, которые вы задаете.
Если вы задаете свойство Units
после того, как свойство Position
, MATLAB установит положение с помощью Units
по умолчанию. Затем MATLAB преобразовывает значение Position
в эквивалентную стоимость в модулях, которые вы задаете.
InnerPosition
Местоположение и размер области векторной и растровой графики[left bottom width height]
Местоположение и размер области векторной и растровой графики, заданной как вектор формы [left bottom width height]
. Эта область исключает границы фигуры, строку заголовка, панель меню и панели инструментов. Все измерения указаны в единицах, заданных свойством Units.
Это значение свойства идентично значению свойства Position
.
OuterPosition
Местоположение и размер внешних границ[left bottom width height]
Местоположение и размер внешних границ, заданных как вектор формы [left bottom width height]
. Это свойство задает область, заключенную внешними границами фигуры (который включает границы, строку заголовка, панель меню и панели инструментов).
В этой таблице описываются каждый элемент в векторе.
Элемент | Описание |
---|---|
left | Расстояние от левого края главного дисплея к внешнему левому краю окна рисунка. Это значение может быть отрицательным в системах, которые имеют больше чем один монитор. Если фигура прикрепляется, то это значение относительно панели фигуры в рабочем столе MATLAB. |
bottom | Расстояние от базового края главного дисплея к внешнему базовому краю окна рисунка. Это значение может быть отрицательным в системах, которые имеют больше чем один монитор. Если фигура прикрепляется, то это значение относительно панели фигуры в рабочем столе MATLAB. |
width | Расстояние между правыми и левыми внешними краями фигуры. |
height | Расстояние между верхними и нижними внешними краями фигуры. |
Все измерения указаны в единицах, заданных свойством Units.
Вы не можете задать фигуру свойство OuterPosition
, когда фигура прикрепляется.
Операционная система Windows осуществляет минимальную ширину окна и максимальный размер окна. Если вы зададите размер фигуры за пределами тех пределов, отображенная фигура будет соответствовать пределам вместо размера, который вы задали.
Clipping
— Усечение дочерних компонентов (не рекомендуемый)'on'
(значение по умолчанию) | 'off'
Это свойство не имеет никакого эффекта на фигуры.
Resize
— Изменяемого размера'on'
(значение по умолчанию) | 'off'
Фигура изменяемого размера, заданная как 'on'
или 'off'
. Когда это свойство установлено в 'on'
, фигура изменяемого размера. В противном случае это не изменяемого размера.
Палитра
Карта цветов для содержимого осей фигурыm
-by-3
массив триплетов RGB Карта цветов для содержимого осей фигуры, заданной как m
-by-3
массив RGB (красный, зеленый, синий) триплеты, которые задают отдельные цвета m
.
Пример: figure('Colormap',[1 0 1; 0 0 1; 1 1 0])
устанавливает карту цветов на три цвета: пурпурный, синий цвет, и желтый.
MATLAB получает доступ к этим цветам их номером строки.
Карты цветов влияют на рендеринг объектов, созданных с surface
, image
и функциями patch
, но обычно не влияют на другие графические объекты.
Когда вы устанавливаете свойство Colormap
фигуры, затем оси и графики в фигуре используют ту же палитру.
Alphamap
Карта прозрачности для содержимого Axes
0
до 1
(значение по умолчанию) | массив конечных альфа-значений от 0
до 1
Карта прозрачности для содержимого Axes
, заданного как массив конечных альфа-значений, которые прогрессируют линейно от 0
до 1
. Размер массива может быть m-1 или 1 m. Альфа-значения доступов MATLAB их индексом в массиве. Alphamaps может быть любой длиной.
Alphamaps влияют на рендеринг объектов, созданных с surface
, image
и функциями patch
, но не влияют на другие графические объекты.
Когда вы устанавливаете свойство Alphamap
фигуры, затем оси и графики в фигуре используют ту же альфа-карту.
NextPlot
Директива по тому, как добавить следующий график'add'
(значение по умолчанию) | 'new'
| 'replace'
| 'replacechildren'
Директива по тому, как добавить следующий график, заданный как 'add'
, 'new'
, 'replace'
или 'replacechildren'
.
Эта таблица описывает эффекты каждого значения.
Значение свойства | Эффект |
---|---|
'new' | Создает новую фигуру и использует его в качестве текущей фигуры. |
'add' | Добавляют новые графические объекты, не очищаясь или сбрасывая текущую фигуру. |
'replacechildren' | Удаляет все объекты осей, кто не скрыт прежде, чем добавить новые объекты. Не сбрасывает свойства фигуры. Эквивалентный использованию команды |
'replace' | Удаляет все объекты осей и сбрасывает свойства фигуры к их значениям по умолчанию прежде, чем добавить новые графические объекты. Эквивалентный использованию
команды |
Рассмотрите использование функции newplot
, чтобы обработать свойство NextPlot
. Для получения дополнительной информации смотрите свойство NextPlot
осей и Подготовьте фигуры и Оси для Графиков.
Renderer
— Средство отображения'opengl'
(значение по умолчанию) | 'painters'
Средство отображения для отображения на экране и печати, заданной как одно из этих значений:
opengl
Средство отображения OpenGL®. Эта опция позволяет MATLAB получить доступ к аппаратному обеспечению машинной графики, если это доступно в вашей системе. Средство отображения OpenGL отображает объекты, отсортированные впереди к невыполненному заказу, как замечено на мониторе. Строки всегда чертят перед поверхностями когда в том же местоположении на плоскости монитора.
'painters'
— Средство отображения живописцев. Эта опция работает хорошо на оси в 2D представлении. В 2D, графических объектах видов средства отображения Живописцев согласно дочернему порядку (заданный порядок). В 3-D виды средства отображения Живописцев возражают впереди против невыполненного заказа. Однако это не может правильно чертить пересекающиеся полигоны в 3-D.
Опция 'zbuffer'
была удалена. Используйте 'opengl'
или 'painters'
вместо этого.
Установка свойства Renderer
не поддержана в MATLAB Online.
OpenGL доступен на всех компьютерах, которые запускают MATLAB, поскольку версия программного обеспечения OpenGL создается - в MATLAB. Однако, если у вас есть аппаратное обеспечение машинной графики, которое поддерживает аппаратно ускоренную версию OpenGL, затем MATLAB автоматически использует аппаратно ускоренную версию, чтобы увеличить производительность.
В некоторых случаях MATLAB автоматически использует программное обеспечение OpenGL, даже если версия оборудования доступна. Например, MATLAB использует версию программного обеспечения, если это обнаруживает аппаратное обеспечение машинной графики с известным драйвером, выпускает или обнаруживает, что вы используете виртуальную машину или удаленный рабочий стол на Windows.
MATLAB выдает предупреждение, если он не может найти применимую библиотеку OpenGL.
Чтобы переключиться от оборудования до программного обеспечения OpenGL, сделайте следующее:
В системах Linux запустите MATLAB с команды matlab -softwareopengl
.
В системах Windows выполните команду opengl software
в MATLAB или запустите MATLAB с команды matlab -softwareopengl
.
В системах Macintosh не поддержано программное обеспечение OpenGL.
Следующие версии программного обеспечения доступны:
В системах Linux MATLAB использует реализацию программного обеспечения OpenGL, который включен в распределение MATLAB.
На Windows OpenGL доступен как часть операционной системы. Если вы испытываете проблемы с OpenGL, свяжитесь со своим поставщиком графического драйвера, чтобы получить последнюю квалифицированную версию OpenGL.
В системах Macintosh программное обеспечение OpenGL не доступно.
Чтобы определить версию и поставщика библиотеки OpenGL, которой MATLAB пользуется в вашей системе, вызовите функцию rendererinfo
. Например, эта команда получает информацию для текущей системы координат и хранит ее в структуре под названием info
.
info = rendererinfo(gca)
Эта структура также обеспечивает имя графического средства отображения в поле GraphicsRenderer
. Например, если MATLAB использует, аппаратно ускорил OpenGL, поле возвращает 'OpenGL Hardware'
. Если MATLAB использует программное обеспечение OpenGL, поле возвращает 'OpenGL Software'
.
При использовании Linux, если существует перерыв в связи с XServer, MATLAB может отказать с нарушением сегментации. Если это происходит, гарантируйте, что системе установили последний XServer.
В системе Linux также можно попытаться обновить драйвер OpenGL или запустить MATLAB с программного обеспечения OpenGL с помощью этой команды:
matlab -softwareopengl
RendererMode
Выбор средства отображения'auto'
(значение по умолчанию) | 'manual'
Выбор средства отображения, заданный как:
'auto'
MATLAB выбирает метод рендеринга для печати и отображения на экране на основе размера и сложности графических объектов в фигуре.
'manual'
— MATLAB использует средство отображения, заданное со свойством Renderer
.
MATLAB устанавливает свойство RendererMode
на 'manual'
, если вы явным образом устанавливаете свойство Renderer
на 'painters'
или 'opengl'
.
GraphicsSmoothing
Сглаживание графики осей'on'
(значение по умолчанию) | 'off'
Сглаживание графики осей, заданное как 'on'
или 'off'
. Сглаживание уменьшает внешний вид зубчатых строк в графические оси. MATLAB применяет метод сглаживания к графические оси (и линейки осей), если GraphicsSmoothing
установлен в 'on'
, и любое из этих условий верно:
Свойство Renderer
установлено в 'painters'
.
Свойство Renderer
установлено в 'opengl'
, и ваша аппаратная карта поддерживает OpenGL.
Если ваши графические оси содержат в основном вертикальные или горизонтальные строки, рассмотрите установку свойства GraphicsSmoothing
к 'on'
и строке или свойства AlignVertexCenters
строк к 'on'
. Метод сглаживания жертвует некоторой резкостью за гладкость, которая может быть особенно примечательной в такой графике.
Графическое сглаживание не имеет никаких, влияют на тексте. MATLAB сглаживает текст независимо от значения свойства GraphicsSmoothing
.
Установка свойства GraphicsSmoothing
не поддержана в MATLAB Online.
PaperPosition
— Размер фигуры и местоположение на странице при печати или сохранении[left bottom width height]
Размер фигуры и местоположение на странице при печати или сохранении, заданный как четырехэлементный вектор формы [left bottom width height]
.
left
и значения bottom
— Управление расстояние от левого нижнего угла страницы к левому нижнему углу фигуры. Эти значения проигнорированы при сохранении фигуры в формат нестраницы, такой как формат EPS или PNG.
width
и значения height
— Управление размер фигуры. Если значения ширины и высоты являются слишком большими, то фигура не может достигнуть заданного размера. Если фигура не достигает определенного размера, то любые компоненты пользовательского интерфейса на фигуре, такие как uicontrol или uitable, не могут сохранить или распечатать как ожидалось.
Свойство PaperUnits
определяет модули измерения значений PaperPosition
. Рассмотрите установку свойства PaperUnits
к 'normalized'
. Эта установка позволяет MATLAB автоматически измерить фигуру, чтобы занять ту же относительную сумму печатной страницы, независимо от размера страницы.
Пример: figure('PaperPosition',[.25 .25 8 6])
установил размер фигуры и местоположение для печати к [.25 .25 8 6]
.
PaperPositionMode
Директива, чтобы использовать отображенный размер фигуры при печати или сохранении'auto'
(значение по умолчанию) | 'manual'
Директива, чтобы использовать отображенный размер фигуры при печати или сохранении, заданный или как 'auto'
или как 'manual'
.
'auto'
Распечатанный или сохраненный размер фигуры совпадает с отображенным размером фигуры. width
и значения height
свойства PaperPosition
равняются размеру фигуры на отображении. left
и значения bottom
сосредотачивают фигуру. Если размер фигуры изменяется на отображении, свойство PaperPosition
автоматически обновляет к соответствующему размеру и значениям местоположения.
'manual'
— Распечатанный или сохраненный размер фигуры не может совпадать с отображенным размером фигуры. Используйте эту опцию, если вы хотите распечатать или сохранить фигуру, использующую размер, который отличается от отображения, или если вы не хотите фигуры, сосредоточенной на печатной или сохраненной странице. Установите свойство PaperPosition
на желаемый размер и местоположение. Если размер фигуры изменяется на отображении, свойство PaperPosition
автоматически не обновляет.
Чтобы сгенерировать вывод, который имеет тот же размер и разрешение (DPI) как отображенная фигура, устанавливает свойство PaperPositionMode
фигуры к 'auto'
и сохраняют фигуру, использующую print
с опцией -r0
. Опция -r0
гарантирует, что выходное разрешение совпадает с разрешением дисплея. Если разрешения отличаются, то сгенерированный выходной размер совпадает с отображенным размером фигуры в измеренных модулях (дюймы, сантиметры, точки), но не в пикселях. Например, если разрешение дисплея является 100 DPI, то 4 5 фигура дюйма является 400 500 пикселями. Если выходное разрешение является 200 DPI, то печатная или сохраненная фигура одного размера в дюймах, но 800 1000 пикселях.
Начиная в R2016a, значением по умолчанию является 'auto'
. Ранее значением по умолчанию был 'manual'
.
Чтобы изменить значение по умолчанию, используйте один из этих методов.
Установите настройку печати. Настройки печати сохраняются через сеансы работы с MATLAB. Можно установить настройку печати или на 'auto'
или на 'manual'
, например:
matlab.graphics.internal.setPrintPreferences('DefaultPaperPositionMode','manual')
'auto'
или 'manual'
. Если вы не установили настройку, команда возвращает 'unset'
.matlab.graphics.internal.getPrintPreferences
Установите значение по умолчанию на корневом объекте. Эта опция влияет только на последние данные в текущем сеансе работы с MATLAB, например:
set(groot,'defaultFigurePaperPositionMode','manual')
PaperSize
Пользовательский размер страницы[width height]
Пользовательский размер страницы при печати фигуры или сохранении его в разбитый на страницы формат (PDF и форматы PostScript®), заданный как двухэлементный вектор формы [width height]
. В Соединенных Штатах значением по умолчанию является [8.5 11]
. В Европе и Азии, значением по умолчанию является [21 29.7]
.
Если вы сохраняете фигуру в файл, свойство PaperSize
только влияет на PDF и форматы файлов PostScript. Другие форматы файлов игнорируют это свойство. Используйте свойство PaperPosition
управлять размером сохраненной фигуры.
Свойство PaperUnits
определяет модули измерения для свойства PaperSize
. Вы не можете установить свойство PaperSize
, если свойство PaperUnits
установлено в 'normalized'
. Попытка сделать так результаты по ошибке.
Определение наборов свойств PaperSize
свойство PaperType
к соответствующему типу, если вы существуете, или к 'custom'
в противном случае.
PaperUnits
Модули используются для PaperSize
и PaperPosition
'inches'
| 'centimeters'
| 'normalized'
| 'points'
Модули используются для PaperSize
и PaperPosition
, заданного как одно из этих значений:
'inches'
Значение в дюймах. Это - значение по умолчанию, когда локалью являются Соединенные Штаты.
'normalized'
Нормированные единицы. Левый нижний угол страницы сопоставляет с (0,0)
, и правый верхний угол сопоставляет с (1,1)
.
'centimeters'
Значение в сантиметрах. Это - значение по умолчанию, когда локалью является Европа или Азия.
'points'
Значение в точках. Одна точка равняется 1/72 дюйма.
Если вы изменяете значение свойства PaperUnits
, это - хорошая практика, чтобы возвратить свойство в его исходное значение после завершения вашего вычисления, чтобы не влиять на другие функции, которые принимают, что свойство PaperUnits
не изменилось.
PaperOrientation
Ориентация страницы'portrait'
(значение по умолчанию) | 'landscape'
Ориентация страницы при печати фигуры или сохранении его в разбитый на страницы формат (PDF и форматы PostScript), заданный как одно из этих значений:
'portrait'
— Восток самое долгое измерение страницы вертикально.
'landscape'
— Восток самое долгое измерение страницы горизонтально.
Смотрите, что orient
функционирует для получения дополнительной информации.
При использовании File> Save As, только PDF и полностраничные форматы PS используют свойство PaperOrientation
. Другие форматы игнорируют эти значения.
PaperType
Стандартные размеры страницы'usletter'
| 'uslegal'
| 'tabloid'
| 'a0'
| 'a1'
| 'a2'
| 'a3'
| ...
Стандартные размеры страницы при печати фигуры или сохранении его в разбитый на страницы формат (PDF и форматы PostScript), заданный как одно из значений в этой таблице. Определение наборов свойств PaperType
свойство PaperSize
к соответствующему размеру страницы.
Значение | Размер страницы (Ширина x Высота) |
---|---|
| 8.5 11 в (значение по умолчанию в США) |
| 8.5 14 в |
| 11 17 в |
| 84.1 118.9 cm |
| 59.4 84.1 cm |
| 42 59.4 cm |
| 29.7 42 cm |
| 21 29.7 cm (значение по умолчанию в Европе и Азии) |
| 14.8 21 cm |
| 102.9 145.6 cm |
| 72.8 102.8 cm |
| 51.4 72.8 cm |
| 36.4 51.4 cm |
| 25.7 36.4 cm |
| 18.2 25.7 cm |
| 9 12 в |
| 12 18 в |
| 18 24 в |
| 24 36 в |
| 36 48 в |
| 8.5 11 в |
| 11 17 в |
| 17 22 в |
| 22 34 в |
| 34 43 в |
'custom' | Пользовательский размер страницы. Определение нестандартного размера страницы с помощью наборов свойств |
InvertHardcopy
Изобразите цвет фона при печати или сохранении'on'
(значение по умолчанию) | 'off'
Изобразите цвет фона при сохранении или печати, заданный как одно из этих значений:
'on'
— Измените фон фигуры и цвета фона осей белому.
'off'
Используйте те же цвета в качестве цветов на отображении. Чтобы изменить цвет фона фигуры на отображении, используйте свойство Color
фигуры. Чтобы изменить цвет фона осей, используйте свойство Color
осей.
Указатель
Символ указателя'arrow'
(значение по умолчанию) | 'ibeam'
| 'crosshair'
| 'watch'
| 'topl'
| 'custom'
|...Символ указателя, заданный как один из символа, называет в следующей таблице или как 'custom'
. Внешний вид символа зависим от операционной системы.
Имя символа | Получившийся (системно-зависимый) символ |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Опция 'fullcrosshair'
была удалена в R2014b.
Чтобы создать символ пользовательского указателя, установите свойство Pointer
на 'custom'
и используйте свойство PointerShapeCData
задать символ. Смотрите свойство PointerShapeCData
для получения дополнительной информации.
PointerShapeCData
Символ пользовательского указателя32
-by-32
матрица | 16
-by-16
матрицаСимвол пользовательского указателя, заданный как 32
-by-32
матрица (для 32 32 пиксельного указателя) или как 16
-by-16
матрица (для 16 16 пиксельного указателя). Фигура использует этот символ указателя, когда вы устанавливаете свойство Pointer
на 'custom'
.
Каждый элемент в матрице задает уровень яркости для 1 пикселя в указателе. Элемент (1,1)
матрицы соответствует пикселю в левом верхнем углу в указателе. Установите элементы матрицы на одно из этих значений:
1
— Черный пиксель.
2
— Белый пиксель.
NaN
Прозрачный пиксель, такой, что базовый экран показывает через.
PointerShapeHotSpot
Активный пиксель указателя[1 1]
(значение по умолчанию) | двухэлементный векторАктивный пиксель указателя, заданного как двухэлементный вектор. Вектор содержит индексы строки и столбца конкретного элемента в матрице PointerShapeCData
, которая соответствует желаемому активному пикселю. Значение по умолчанию [1 1]
соответствует пикселю в левом верхнем углу указателя.
Если вы задаете значение вне области значений матрицы PointerShapeCData
, то указатель использует активный пиксель по умолчанию [1 1]
вместо этого.
Это свойство применяется только, когда свойство Pointer
установлено в 'custom'
.
CurrentAxes
Целевые оси в текущей фигуреAxes
| объект PolarAxes
| графический объектЦелевые оси в текущей фигуре, заданной как объект Axes
, объект PolarAxes
или графический объект, такие как HeatmapChart
.
Во всех фигурах, для которых существуют дочерние элементы осей, всегда существует текущая система координат. Текущая система координат не должна быть самыми верхними осями и установкой, оси, чтобы быть текущей системой координат не повторно складывают ее, прежде всего, другие оси. Если фигура не содержит осей, команда get(gcf,'CurrentAxes')
возвращает пустой массив.
Запросите свойство CurrentAxes
получить объект текущей системы координат, не обеспечивая создание оси, если вы не существуете.
CurrentObject
— CurrentТекущий объект, возвращенный как дочерний объект фигуры. MATLAB устанавливает свойство CurrentObject
на последний объект, по которому кликают в фигуре. Этот объект является верхним объектом в представлении.
Свойство HitTest
дочернего объекта управляет, может ли тот объект стать CurrentObject
.
Нажатие на объект, свойством HandleVisibility
которого является 'off'
, устанавливает свойство CurrentObject
на пустой массив GraphicsPlaceholder
. Чтобы постараться не возвращать пустой массив, когда пользователи кликнут по скрытому объекту, установите свойство HitTest
скрытого объекта к 'off'
.
Используйте команду gco
в качестве альтернативы для получения значения этого свойства.
CurrentPoint
CurrentPoint Текущая точка, возвращенная как двухэлементный вектор. Вектор содержит (x, y) координаты указателя мыши, измеренного от нижнего левого угла фигуры. Значения находятся в модулях, заданных свойством Units
.
Координаты обновляют, когда вы делаете любое следующее:
Нажмите кнопку мыши в фигуре.
Отпустите кнопку мыши после нажатия его в фигуре.
Нажмите кнопку мыши в фигуре, и затем выпустите ее вне фигуры.
Вращайте колесико прокрутки в фигуре.
Переместите мышь в фигуре (не нажимая кнопок), при условии, что свойство WindowButtonMotionFcn
не пусто.
Если у фигуры есть коллбэк, который отвечает на взаимодействия мыши, и вы инициировали тот коллбэк быстрее, чем система может выполнить код, координаты не могут отразить фактическое местоположение указателя. Вместо этого они - местоположение, когда коллбэк начал выполнение.
Если вы используете свойство CurrentPoint
построить точки, координатные значения могут содержать погрешность округления.
CurrentCharacter
— Текущий символ''
(значение по умолчанию) | символТекущий символ, возвращенный как символ последней нажатой клавиши. Это свойство обновляет, когда фигура фокусируется, в то время как пользователь нажимает клавишу.
Selected
— Состояние выбора (не рекомендуемый)'off'
(значение по умолчанию) | 'on'
Поведение свойства Selected
, измененного в R2014b, и это не рекомендуется. Это больше не имеет эффекта на объекты Figure
. Это свойство может быть удалено в будущем релизе.
SelectionHighlight
Отображение маркеров выделения (не рекомендуемый)'on'
(значение по умолчанию) | 'off'
Использование свойства SelectionHighlight
не рекомендуется. Это свойство может быть удалено в будущем релизе.
Это свойство не имеет никакого эффекта на фигуры.
SelectionType
Тип выбора мыши'normal'
(значение по умолчанию) | 'extend'
| 'alt'
| 'open'
Тип выбора мыши, возвращенный как 'normal'
, 'extend'
, 'alt'
или 'open'
. Это свойство предоставляет информацию о последнем нажатии кнопки мыши, которое произошло в фигуре.
Эта таблица приводит возможные значения SelectionType
и пользовательские действия, которые производят те значения.
Значение | Соответствующее действие |
---|---|
| Щелкните левой кнопкой мыши. |
| Любое следующее:
|
| Любое из следующего:
|
| Дважды кликните любую кнопку мыши. |
UIContextMenu
Контекстное менюGraphicsPlaceholder
(значение по умолчанию) | uicontextmenu объектКонтекстное меню, заданное как объект ContextMenu.
Используйте это свойство отобразить контекстное меню, когда пользователь щелкнет правой кнопкой по компоненту UI. Создайте контекстное меню с помощью функции uicontextmenu.
Visible
— Изобразите видимость'on'
(значение по умолчанию) | 'off'
Изобразите видимость, заданную как 'on'
или 'off'
. Свойство Visible
определяет, отображается ли фигура на экране. Если свойство Visible
фигуры установлено в 'off'
, целая фигура невидима, но можно все еще задать и получить доступ к его свойствам.
Изменение размера невидимой фигуры инициировало коллбэк SizeChangedFcn
, когда фигура становится видимой.
Изменение свойства Visible
фигуры не изменяет свойство Visible
своих дочерних компонентов даже при том, что сокрытие фигуры препятствует тому, чтобы его дочерние элементы отобразились.
'ButtonDownFcn'
Кнопка вниз коллбэк''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовКнопка вниз коллбэк, заданный как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Этот коллбэк выполняется каждый раз, когда пользователь кликает по пустой области фигуры.
Используйте свойство SelectionType
определить, нажал ли пользователь модифицирующие клавиши.
CreateFcn — функция создания компонентов
''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовФункция создания компонентов, заданная в качестве одного из следующих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB создает компонент. MATLAB инициализирует все значения свойства компонентов прежде, чем выполнить коллбэк CreateFcn
. Если вы не задаете свойство CreateFcn, то MATLAB выполняет функцию создания по умолчанию.
Используйте функцию gcbo
в своем коде CreateFcn
, чтобы получить объект компонента, который создается.
Установка свойства CreateFcn
на существующем объекте компонента не имеет никакого эффекта.
DeleteFcn — функция удаления компонентов
''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовФункция удаления компонента, заданная в качестве одного из следующих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Свойство DeleteFcn
задает функцию обратного вызова, чтобы выполниться, когда MATLAB удаляет компонент (например, когда пользователь закрывает окно). MATLAB выполняет коллбэк DeleteFcn
прежде, чем уничтожить свойства объекта компонента. Если вы не задаете свойство DeleteFcn, то MATLAB выполняет функцию удаления по умолчанию.
Используйте функцию gcbo
в своем коде DeleteFcn
, чтобы получить объект компонента, который удаляется.
KeyPressFcn
Коллбэк нажатия клавиши''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовКоллбэк нажатия клавиши, заданный как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Эта функция обратного вызова выполняется, когда пользователь нажимает клавишу, в то время как фигура или дочерний объект фокусируются. Если пользователь нажимает клавишу на UIControl
или компоненте Table
, коллбэк не выполняется, если свойство Enable
не установлено в 'off'
.
Если пользователь нажимает несколько клавиш приблизительно в то же время, MATLAB обнаруживает все ключи.
Коллбэк KeyPressFcn
может получить доступ к определенной информации о взаимодействии пользователя с клавиатурой. MATLAB передает эту информацию в объекте KeyData
в качестве второго аргумента к вашей функции обратного вызова. Эта таблица приводит свойства этого объекта.
Свойство | Описание |
---|---|
Character | Символ, который появляется в результате нажатия клавиши или ключей. Нажатие определенных клавиш или изменение ключей с ключом Ctrl могут поместить непечатные символы в свойство Нажимание одних только определенных клавиш (таких как Ctrl, Alt, Shift) не генерирует данные |
Modifier | Массив ячеек, содержащий имена нажатых модифицирующих клавиш, таких как control, alt или shift. Если никакие модифицирующие клавиши не нажимаются, массив ячеек пуст. |
Key | Клавиша, нажатая, идентифицированная строчной меткой на ключе или описательным словом, таким как |
Source | Объект, который фокусируется, когда пользователь нажимает клавишу. |
EventName | 'KeyPress' |
Для получения дополнительной информации об определении значений свойств коллбэка и использовании аргументов коллбэка, смотрите, Как Задать Значения свойств Коллбэка.
Свойство CurrentCharacter
также возвращает символьную информацию.
KeyReleaseFcn
Коллбэк ключевого релиза''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовКоллбэк ключевого релиза, заданный как одно из этих значений
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Эта функция обратного вызова выполняется, когда пользователь нажимает клавишу, в то время как фигура или дочерний объект фокусируются. Если пользователь отпускает клавишу на UIControl
или компоненте Table
, коллбэк не выполняется, если свойство Enable
не установлено в 'off'
.
Коллбэк KeyReleaseFcn
может получить доступ к определенной информации о взаимодействии пользователя с клавиатурой. MATLAB передает эту информацию в объекте KeyData
в качестве второго аргумента к вашей функции обратного вызова. Эта таблица приводит свойства этого объекта.
Свойство | Описание |
---|---|
Character | Символ, который соответствует ключу или клавишам, которые отпускаются. Определенные ключи или сочетания клавиш могут возвратить непечатные символы в этом свойстве. Нажимание и отпускание одних только определенных клавиш (таких как Ctrl, Alt, Shift) не генерируют данные |
Modifier | Массив ячеек, содержащий имена выпущенных модифицирующих клавиш, таких как control, alt или shift. Если никакие модифицирующие клавиши не выпущены, массив ячеек пуст. |
Key | Клавиша, отпущенная, идентифицированная (строчной) меткой на ключе или описательным словом, таким как |
Source | Объект, который фокусируется, когда клавиша отпускается. |
EventName | 'KeyRelease' |
Для получения дополнительной информации об определении значений свойств коллбэка и использовании аргументов коллбэка, смотрите, Как Задать Значения свойств Коллбэка.
CloseRequestFcn
Закройте коллбэк запроса'closereq'
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовЗакройте коллбэк запроса, заданный как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Этот коллбэк выполняется каждый раз, когда пользователь пытается закрыть окно рисунка. Можно, например, отобразить диалоговое окно, чтобы попросить, чтобы пользователь подтвердил или отменил операцию закрытия или препятствовал тому, чтобы пользователи закрыли фигуру, которая содержит пользовательский интерфейс.
Основной механизм:
Пользователь выпускает close
или команду close all
из командной строки, закрывает фигуру из компьютерного меню менеджера окон или закрывает фигуру путем выхода из MATLAB.
Операция закрытия выполняет функцию, определяемую фигурой свойство CloseRequestFcn
. Функцией по умолчанию является closereq
.
Функция closereq
безусловно удаляет текущую фигуру, уничтожая окно. Функция closereq
использует в своих интересах то, что команда close
делает каждую фигуру заданной в качестве аргумента текущая фигура прежде, чем вызвать ее соответствующую близкую функцию запроса.
Функция closereq
соблюдает установку свойства ShowHiddenHandles
во время удаления фигуры и не удаляет скрытые фигуры.
Если близкие вызовы функции запроса delete
или функция close
, MATLAB никогда не закрывает фигуру. (Можно вызвать delete(f)
из командной строки, если вы создали окно с неразрушающей близкой функцией запроса.)
Этот пример показывает, как закодировать близкую функцию запроса, чтобы отобразить диалоговое окно вопроса, прося, чтобы пользователь подтвердил операцию закрытия. Сохраните код в перезаписываемую папку в вашей системе.
function my_closereq(src,callbackdata) % Close request function % to display a question dialog box selection = questdlg('Close This Figure?',... 'Close Request Function',... 'Yes','No','Yes'); switch selection case 'Yes' delete(gcf) case 'No' return end end
Теперь, создайте фигуру, задающую my_closereq
для CloseRequestFcn
:
figure('CloseRequestFcn',@my_closereq)
Закройте окно рисунка и отображения диалогового окна вопроса.
SizeChangedFcn
Размер изменил коллбэк''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовРазмер изменил коллбэк, заданный как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Задайте этот коллбэк, чтобы настроить размещение приложения, когда размер этого контейнера изменяется (например, когда пользователь изменяет размер окна).
Коллбэк SizeChangedFcn
выполняется когда:
Этот контейнер становится видимым впервые.
Этот контейнер видим, в то время как его размер изменяется.
Этот контейнер становится видимым впервые после того, как его размер изменится. Эта ситуация происходит, когда размер изменяется, в то время как контейнер невидим, и затем это становится видимым позже.
Другие важные моменты, чтобы рассмотреть при определении коллбэка SizeChangedFcn
:
Рассмотрите задержку отображения этого контейнера до окончания всех переменных, что использование SizeChangedFcn
задано. Эта практика может препятствовать тому, чтобы коллбэк SizeChangedFcn
возвратил ошибку. Чтобы задержать отображение контейнера, установите его свойство Visible
на 'off'
. Затем установите свойство Visible
на 'on'
после того, как вы задаете переменные, которые использует ваш коллбэк SizeChangedFcn
.
Если ваше приложение содержит вложенные контейнеры, они изменяют размер от наизнанку.
Чтобы получить доступ к контейнеру, который изменяет размер из SizeChangedFcn
, обратитесь к исходному объекту (первый входной параметр в коллбэке) или используйте функцию gcbo
.
Как легкая альтернатива определению коллбэка SizeChangedFcn
, можно установить свойство Units
всех объектов, вы вставляете контейнер к 'normalized'
. Выполнение так заставляет те компоненты масштабироваться пропорционально с контейнером.
Используйте коллбэк SizeChangedFcn
, чтобы ограничить размер компонентов пользовательского интерфейса. Например, следующий код создает пользовательский интерфейс, который имеет поле редактирования наверху окна. Когда пользователь изменяет размер окна, функция sbar
ограничивает свою высоту 20 пикселями. Функция также устанавливает ширину поля редактирования на ширину фигуры.
Если вы используете R2014b или позже, используйте запись через точку, чтобы установить и запросить свойства:
function myui f = figure('Visible','off','SizeChangedFcn',@sbar); u = uicontrol('Style','edit','Tag','StatusBar'); f.Visible = 'on'; function sbar(src,callbackdata) old_units = src.Units; src.Units = 'pixels'; sbar_units = u.Units; u.Units = 'pixels'; fpos = src.Position; upos = [1 fpos(4) - 20 fpos(3) 20]; u.Position = upos; u.Units = sbar_units; src.Units = old_units; u.Visible = 'on'; end end
Если вы используете R2014a или более ранний релиз, используйте этот код вместо этого.
function myui f = figure('Visible','off','SizeChangedFcn',@sbar); u = uicontrol('Style','edit','Tag','StatusBar'); set(f,'Visible','on'); function sbar(src,callbackdata) old_units = get(src,'Units'); set(src,'Units','pixels'); sbar_units = get(u,'Units'); set(u,'Units','pixels'); fpos = get(src,'Position'); upos = [1 fpos(4) - 20 fpos(3) 20]; set(u,'Position',upos); set(u,'Units',sbar_units); set(src,'Units',old_units); set(u,'Visible','on'); end end
WindowButtonDownFcn
— Window вниз коллбэк''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовКнопка Window вниз коллбэк, заданный как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Этот коллбэк выполняется, когда пользователь щелкает где угодно в фигуре или одном из его дочерних объектов. Если пользователь нажимает UIControl
или компонент Table
, коллбэк не выполняется, если свойство Enable
не установлено в 'off'
.
WindowButtonMotionFcn
— Window''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовКоллбэк движения кнопки Window, заданный как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Как правило, эта функция обратного вызова выполняется каждый раз, когда пользователь перемещает указатель в фигуре. Однако, если пользователь кликает и удерживает кнопку мыши и перемещает указатель вне фигуры, коллбэк WindowButtonMotionFcn
выполняется, в то время как указатель вне фигуры.
Этот пример показывает, как создать приложение рисунка, которое использует коллбэк WindowButtonMotionFcn
. Скопируйте и вставьте следующий код в редактор и запустите его. Затем используйте мышь, чтобы чертить набор связанных линейных сегментов:
Перетащите в осях, чтобы чертить первый линейный сегмент.
Щелкните еще раз, чтобы задать точку привязки для линейного сегмента.
Переместите мышь, чтобы добавить другой линейный сегмент.
Щелкните правой кнопкой, чтобы закончить режим рисунка.
function drawing_app figure('WindowButtonDownFcn',@wbdcb) ah = axes('SortMethod','childorder'); axis ([1 10 1 10]) title('Click and drag') function wbdcb(src,callbackdata) seltype = src.SelectionType; % This code uses dot notation to set properties % Dot notation runs in R2014b and later. % For R2014a and earlier: seltype = get(src,'SelectionType'); if strcmp(seltype,'normal') src.Pointer = 'circle'; cp = ah.CurrentPoint; % For R2014a and earlier: % set(src,'Pointer','circle'); % cp = get(ah,'CurrentPoint'); xinit = cp(1,1); yinit = cp(1,2); hl = line('XData',xinit,'YData',yinit,... 'Marker','p','color','b'); src.WindowButtonMotionFcn = @wbmcb; src.WindowButtonUpFcn = @wbucb; % For R2014a and earlier: % set(src,'WindowButtonMotionFcn',@wbmcb); % set(src,'WindowButtonUpFcn',@wbucb); end function wbmcb(src,callbackdata) cp = ah.CurrentPoint; % For R2014a and earlier: % cp = get(ah,'CurrentPoint'); xdat = [xinit,cp(1,1)]; ydat = [yinit,cp(1,2)]; hl.XData = xdat; hl.YData = ydat; % For R2014a and earlier: % set(hl,'XData',xdat); % set(hl,'YData',ydat); drawnow end function wbucb(src,callbackdata) last_seltype = src.SelectionType; % For R2014a and earlier: % last_seltype = get(src,'SelectionType'); if strcmp(last_seltype,'alt') src.Pointer = 'arrow'; src.WindowButtonMotionFcn = ''; src.WindowButtonUpFcn = ''; % For R2014a and earlier: % set(src,'Pointer','arrow'); % set(src,'WindowButtonMotionFcn',''); % set(src,'WindowButtonUpFcn',''); else return end end end end
WindowButtonUpFcn
Коллбэк кнопки окна''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовКоллбэк кнопки окна, заданный как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Этот коллбэк выполняется, когда пользователь отпускает кнопку мыши где угодно в фигуре или одном из ее дочерних объектов. Если пользователь отпускает кнопку мыши на UIControl
или компоненте Table
, коллбэк не выполняется, если свойство Enable
не установлено в 'off'
.
Действия кнопки сопоставлены с консервативными действиями в фигуре. Указатель мыши должен быть в фигуре, когда консервативное действие происходит, но это может быть вне фигуры, когда действие кнопки происходит.
WindowKeyPressFcn
Коллбэк нажатия клавиши окна''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовКоллбэк нажатия клавиши окна, заданный как одно из этих значений
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Эта функция обратного вызова выполняется, когда пользователь нажимает клавишу, в то время как фигура или дочерний объект фокусируются.
Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с клавиатурой. MATLAB передает эту информацию в объекте KeyData
в качестве второго аргумента к вашей функции обратного вызова. Эта таблица приводит свойства этого объекта.
Свойство | Описание |
---|---|
Character | Символ, который появляется в результате нажатия клавиши или ключей. Нажатие определенных клавиш или изменение ключей с ключом Ctrl могут возвратить непечатные символы в этом свойстве. Нажимание и отпускание одних только определенных клавиш (таких как Ctrl, Alt, Shift) не генерируют данные |
Modifier | Массив ячеек, содержащий имена выпущенных модифицирующих клавиш, таких как control, alt или shift. Если никакие модифицирующие клавиши не выпущены, массив ячеек пуст. |
Key | Клавиша, отпущенная, идентифицированная (строчной) меткой на ключе или описательным словом, таким как |
Source | Объект, который фокусируется, когда клавиша отпускается. |
EventName | 'KeyRelease' |
Для получения дополнительной информации об определении значений свойств коллбэка и использовании аргументов коллбэка, смотрите, Как Задать Значения свойств Коллбэка.
WindowKeyReleaseFcn
Коллбэк ключевого релиза окна''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовКоллбэк ключевого релиза окна, заданный как одно из этих значений
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Эта функция обратного вызова выполняется, когда пользователь отпускает клавишу, в то время как фигура или дочерний объект фокусируются.
Эта функция обратного вызова может получить доступ к определенной информации о взаимодействии пользователя с клавиатурой. MATLAB передает эту информацию в объекте KeyData
в качестве второго аргумента к вашей функции обратного вызова. Эта таблица приводит свойства этого объекта.
Свойство | Описание |
---|---|
Character | Символ, который соответствует ключу или клавишам, которые отпускаются. Определенные ключи или сочетания клавиш могут возвратить непечатные символы в этом свойстве. Нажимание и отпускание одних только определенных клавиш (таких как Ctrl, Alt, Shift) не генерируют данные |
Modifier | Массив ячеек, содержащий имена выпущенных модифицирующих клавиш, таких как control, alt или shift. Если никакие модифицирующие клавиши не выпущены, массив ячеек пуст. |
Key | Клавиша, отпущенная, идентифицированная (строчной) меткой на ключе или описательным словом, таким как |
Source | Объект, который фокусируется, когда клавиша отпускается. |
EventName | 'KeyRelease' |
Для получения дополнительной информации об определении значений свойств коллбэка и использовании аргументов коллбэка, смотрите, Как Задать Значения свойств Коллбэка.
WindowScrollWheelFcn
Коллбэк колесика прокрутки окна''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовКоллбэк колесика прокрутки окна, заданный как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Этот коллбэк выполняется, когда пользователь перемещает колесико прокрутки, в то время как фигура или любой, если его дочерние элементы фокусируются. Однако другие объекты могут получить перемещение колесика прокрутки и вмешаться в выполнение этого коллбэка.
Выполнение этого коллбэка не имеет никакого эффекта на свойства CurrentObject
и SelectionType
.
Коллбэк WindowScrollWheelFcn
может получить доступ к определенной информации, когда пользователь вращает колесико прокрутки. MATLAB передает эту информацию в объекте ScrollWheelData
в качестве второго аргумента к вашей функции обратного вызова. Эта таблица приводит свойства объекта ScrollWheelData
.
Свойство | Содержимое |
---|---|
VerticalScrollCount | Положительное или отрицательное число, которое указывает на направление и количество нажатий кнопки колесика прокрутки. Прокручивание вниз возвращает положительное значение. Прокрутка возвращает отрицательное значение. Вертикальное количество прокрутки является суммой всех нажатий кнопки колесика прокрутки, которые произошли с прошлого раза выполняемый коллбэк. Как правило, значением является |
VerticalScrollAmount | Количество строк прокручено для каждого нажатия кнопки колесика прокрутки. Как правило, значением является |
Source | Объект, который выполняет коллбэк. |
EventName | 'WindowScrollWheel' |
Для получения дополнительной информации об определении значений свойств коллбэка и использовании аргументов коллбэка, смотрите, Как Задать Значения свойств Коллбэка.
Этот пример показывает, как создать приложение, которое отображает график. Пользователь может прокрутить, чтобы изменить пределы x - ось. Скопируйте и вставьте следующий код в редактор и запустите его.
function scroll_wheel % Shows how to use WindowScrollWheelFcn property % f = figure('WindowScrollWheelFcn',@figScroll,'Name','Scroll Wheel Demo'); x = [0:.1:40]; y = 4.*cos(x)./(x+2); a = axes; h = plot(x,y); title('Rotate the scroll wheel') function figScroll(src,callbackdata) if callbackdata.VerticalScrollCount > 0 xd = h.XData; % This code uses dot notation to set properties % Dot notation runs in R2014b and later. % For R2014a and earlier: xd = get(h,'XData'); inc = xd(end)/20; x = [0:.1:xd(end)+inc]; re_eval(x) elseif callbackdata.VerticalScrollCount < 0 xd = h.XData; % For R2014a and earlier: xd = get(h,'XData'); inc = xd(end)/20; x = [0:.1:xd(end)-inc+.1]; % Don't let xd = 0; re_eval(x) end end function re_eval(x) y = 4.*cos(x)./(x+2); h.YData = y; h.XData = x; a.XLim = [0 x(end)]; % For R2014a and earlier: % set(h,'YData',y); % set(h,'XData',x); % set(a,'XLim',[0 x(end)]); drawnow end end
ResizeFcn
Измените размер функции обратного вызова (не рекомендуемый)''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовИзмените размер функции обратного вызова, заданной как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Использование свойства ResizeFcn
не рекомендуется. Это может быть удалено в будущем релизе. Используйте SizeChangedFcn
вместо этого.
Типы данных: function_handle
| cell
| char
Interruptible
— Прерывание коллбэка'on'
(значение по умолчанию) | 'off'
Прерывание обратного вызова, обозначаемое как 'on' или 'off'.
Свойство «Прерывание» определяет, можно ли прерывать выполняемый обратный вызов.
Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Каждый раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов (если он существует). Свойство «Прерывание» объекта, имеющего текущий обратный вызов, определяет, разрешено ли прерывание:
Значение 'on' позволяет другим обратным вызовам прерывать обратные вызовы объекта.
Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь, такой как тогда, когда существует drawnow
, figure
, getframe
, waitfor
или pause
.
Если текущий обратный вызов содержит одну из этих команд, MATLAB останавливает выполнение обратного вызова в этой точке и выполняет прерывание обратного вызова. MATLAB возобновляет выполнение обратного вызова при завершении прерывания.
Если текущий обратный вызов не содержит одну из этих команд, MATLAB завершает выполнение обратного вызова без прерывания.
Значение 'off' блокирует все попытки прерывания.
Свойство BusyAction объекта, владеющего прерывистым обратным вызовом, определяет, отменяется ли прерывание обратного вызова или помещается в очередь.
Прерывание и выполнение обратного вызова происходят по-разному в таких ситуациях:
Если прерывающий обратный вызов является обратным вызовом DeleteFcn, CloseRequestFcn или SizeChangedFcn, то прерывание происходит независимо от значения свойства прерывания.
Если текущий обратный вызов выполняет функцию waitfor, то прерывание происходит независимо от значения свойства прерывания.
Объекты-таймеры выполняются в соответствии с расписанием независимо от значения свойства прерывания.
MATLAB не сохраняет состояние свойств или отображения, когда прерывание происходит. Например, объект, возвращенный командой gca или gcf, может измениться при выполнении другого обратного вызова.
Смотрите Выполнение обратного вызова Прерывания для примера, который показывает, как свойства Interruptible
и BusyAction
влияют на поведение программы.
BusyAction
Постановка в очередь коллбэка'queue'
(значение по умолчанию) | 'cancel'
Постановка в очередь коллбэка, заданная как 'queue'
(значение по умолчанию) или 'cancel'
. Свойство BusyAction определяет, как MATLAB обрабатывает выполнение прерывания обратных вызовов.
Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Свойство BusyAction
источника прерывания обратного вызова определяет, как MATLAB обрабатывает свое выполнение. Свойство BusyAction
имеет эти значения:
'queue' — поместите прерывающий обратный вызов в очередь вызовов, подлежащих обработке после завершения обратного вызова.
cancel' — не выполнять прерывание обратного вызова.
Каждый раз, когда MATLAB вызывает коллбэк, тот коллбэк всегда пытается прервать выполняющийся коллбэк. Свойство Interruptible
объекта, коллбэк которого запускается, определяет, позволено ли прерывание. Если Interruptible
установлен в:
'on' — Прерывание происходит в следующей точке, где MATLAB обрабатывает очередь.
Это значение по умолчанию.
Свойство off
— The BusyAction
(объекта, владеющего прерыванием обратного вызова), определяет, ставит ли MATLAB в очередь или игнорирует прерывание обратного вызова.
Смотрите Выполнение обратного вызова Прерывания для примера, который показывает, как свойства BusyAction
и Interruptible
влияют на поведение программы.
HitTest
Способность стать текущим объектом'on'
(значение по умолчанию) | 'off'
Способность стать текущим объектом, заданным как 'on'
или 'off'
:
'on'
— Устанавливает текущий объект на Figure
, когда пользователь кликает по компоненту в запущенном приложении. И свойство CurrentObject
Figure
и gco
функциональный возврат Figure
как текущий объект.
'off'
Текущий объект не обновляет, когда пользователь кликает по фигуре в запущенном приложении.
BeingDeleted
— Deletion'off'
| 'on'
Это свойство доступно только для чтения.
Удаление статуса, возврат на 'off' или 'on'.
MATLAB задает значение свойства BeingDeleted 'on', когда обратный вызов DeleteFcn начинает выполнение.
Значение свойства BeingDeleted остается 'on' до того момента, как объект перестанет существовать.
Проверьте значение свойства BeingDeleted, чтобы убедиться, что объект не будет удален до запроса или изменения.
Parent
— Родительский элемент фигурыРодительский элемент фигуры, возвращенный как корневой объект.
Children
— Дочерние элементы фигуры GraphicsPlaceholder
(значение по умолчанию) | 1D массив объектовДочерние элементы Figure
, возвращенного как пустой GraphicsPlaceholder
или 1D массив объектов.
Вы не можете добавить или удалить дочерние элементы, использующие свойство Children
. Используйте это свойство просмотреть список дочерних элементов или переупорядочить дочерние элементы. Порядок дочерних элементов отражает порядок "от первого до последнего" (порядок размещения) компонентов на экране. MATLAB не может позволить вам изменять порядок определенных объектов. Например, UIControl
и объекты Legend
всегда перед объектами Axes
.
Чтобы добавить дочерний элемент в этот список, установите свойство Parent
дочернего компонента быть объектом Figure
.
Объекты с набором свойств HandleVisibility
к 'off'
не перечисляют в свойстве Children
.
HandleVisibility
Видимость объекта фигуры'on'
(значение по умолчанию) | 'callback'
| 'off'
Видимость объекта фигуры, заданного как 'on'
, 'callback'
или 'off'
.
Это свойство определяет, является ли фигура в его родительском элементе (корень) списком дочерних элементов. HandleVisibility
полезен для предотвращения пользователей командной строки от случайного вовлечения или удаления фигуры, которая содержит только компоненты пользовательского интерфейса (такие как диалоговое окно).
Если объект не находится в своем родительском списке дочерних элементов, функции, которые находят, объекты путем поиска иерархии объектов или запроса свойств не могут возвратить тот объект. Такие функции включают get
, findobj
, gca
, gcf
, gco
, newplot
, cla
, clf
и close
.
Когда значение свойства HandleVisibility
ограничивается с помощью настроек 'callback'
или 'off'
, объект не появляется в свойстве Children
родительского объекта, фигуры не появляются в корневом свойстве CurrentFigure
, объекты не появляются в корневом свойстве CallbackObject
или в фигуре свойство CurrentObject
, и оси не появляются в своем родительском свойстве CurrentAxes
.
Установите корневое свойство ShowHiddenHandles
на 'on'
делать все объекты видимыми, независимо от их настроек HandleVisibility
(это не влияет на значения свойств HandleVisibility
).
Имя
Имя''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиИмя фигуры, заданной как вектор символов или скаляр строки.
Пример: figure('Name','Results')
определяет имя фигуры к 'Results'
.
По умолчанию именем является 'Figure n'
, где n
является целым числом. Когда вы задаете свойство Name
, заголовок фигуры становится 'Figure n: name'
. Если вы хотите только, чтобы значение Name
появилось, установите IntegerHandle
или NumberTitle
к 'off'
.
Number
— Номер[]
Это свойство доступно только для чтения.
Количество фигуры, возвращенной как целочисленный или пустой массив. Можно обратиться к фигуре, использующей это значение. Например, figure(2)
делает фигуру со значением свойства Number
2
текущей фигурой.
Если свойство IntegerHandle
установлено в 'off'
, свойство Number
пусто.
Если IntegerHandle
является 'on'
, свойство Number
является целым числом. Когда вы удаляете фигуру, MATLAB снова использует номер для следующей фигуры.
NumberTitle
Используйте заголовок номера'on'
(значение по умолчанию) | 'off'
Заголовок номера, заданный как 'on'
или 'off'
. Когда вы устанавливаете это свойство на 'on'
, заголовок фигуры включает фразу 'Figure n'
, где n
является значением свойства Number
.
И NumberTitle
и IntegerHandle
должны собираться в 'on'
показать, чтобы показать номер в заголовке.
IntegerHandle
Используйте целочисленный указатель'on'
(значение по умолчанию) | 'off'
Используйте целочисленный указатель, заданный как 'on'
или 'off'
.
Если вы устанавливаете свойство IntegerHandle
на 'on'
, MATLAB находит самое низкое целочисленное значение, которое не используется существующей фигурой и устанавливает свойство Number
на то значение. Если вы удаляете фигуру, MATLAB может снова использовать свой номер на новой фигуре.
Если вы устанавливаете свойство IntegerHandle
на 'off'
, MATLAB не присваивает целочисленное значение фигуре, и это устанавливает свойство Number
на пустой массив.
Чтобы показать номер фигуры в строке заголовка, и IntegerHandle
и NumberTitle
должны быть установлены в 'on'
.
FileName
FileName Имя файла для сохранения фигуры, заданной как вектор символов или скаляр строки. GUIDE использует это свойство сохранить имя файла размещения пользовательского интерфейса, который это сохранило.
Пример: figure('FileName','myfile.fig')
устанавливает имя файла на myfile.fig
.
Ввод
Тип объекта Figure 'figure'
Это свойство доступно только для чтения.
Тип объекта Figure, возвращенного как 'figure'
. Используйте это свойство найти все объекты данного типа в иерархии графического вывода.
Тег
Изобразите идентификатор' '
(значение по умолчанию) | вектор символовИдентификатор объекта, заданный как вектор символов или скаляр строки. Вы можете задать уникальное значение тега, которое будет служить идентификатором для любого объекта компонента в вашем приложении.
Когда вам нужен доступ к объекту в другом месте вашего кода, вы можете использовать функцию findobj для поиска объекта на основе значения тега.
Пример: figure('Tag','plotwindow')
создает фигуру, идентификатором тега которой является 'plotwindow'
.
UserData
UserData []
(значение по умолчанию) | массивПользовательские данные, заданные как любой массив. Определение UserData
может быть полезно для обмена данными в рамках приложений. Смотрите Осуществляют обмен данными Среди Коллбэков для получения дополнительной информации.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.