Управляйте внешним видом и поведением окна рисунка
Свойства, перечисленные здесь, допустимы для фигур, используемых в 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
— Изобразите отображение панели инструментов'auto'
(значение по умолчанию) | 'figure'
| 'none'
Изобразите отображение панели инструментов, заданное как одно из следующего:
'auto'
— Использует то же значение в качестве MenuBar
свойство.
'figure'
— Отображения панели инструментов.
'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 осуществляет минимальную ширину окна и максимальный размер окна. Если вы зададите размер фигуры за пределами тех пределов, отображенная фигура будет соответствовать пределам вместо размера, который вы задали.
Units
— Единицы измерения'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'
, фигура изменяемого размера. В противном случае это не изменяемого размера.
Colormap
— Карта цветов для содержимого осей фигурыm
- 3
массив триплетов RGB Карта цветов для содержимого осей фигуры, заданной как m
- 3
массив RGB (красный, зеленый, синий) триплеты, которые задают m
отдельные цвета.
Пример: figure('Colormap',[1 0 1; 0 0 1; 1 1 0])
устанавливает карту цветов на три цвета: пурпурный, синий цвет, и желтый.
MATLAB получает доступ к этим цветам их номером строки.
Карты цветов влияют на рендеринг объектов, созданных с surface
изображение
, и patch
функции, но обычно не влияют на другие графические объекты.
Когда вы устанавливаете Colormap
свойство фигуры, затем оси и графики в фигуре использует ту же палитру.
Alphamap
— Карта прозрачности для Axes
содержимое0
к 1
(значение по умолчанию) | массив конечных альфа-значений от 0
к 1
Карта прозрачности для Axes
содержимое, заданное как массив конечных альфа-значений, которые прогрессируют линейно от 0
к 1
. Размер массива может быть m-1 или 1 m. Альфа-значения доступов MATLAB их индексом в массиве. Alphamaps может быть любой длиной.
Alphamaps влияют на рендеринг объектов, созданных с surface
изображение
, и patch
функции, но не влияют на другие графические объекты.
Когда вы устанавливаете Alphamap
свойство фигуры, затем оси и графики в фигуре использует ту же альфа-карту.
NextPlot
— Директива по тому, как добавить следующий график'add'
(значение по умолчанию) | 'new'
| 'replace'
| 'replacechildren'
Директива по тому, как добавить следующий график, заданный как 'add'
, 'new'
замена
, или '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
свойство осей.
Pointer
— Символ указателя'arrow'
(значение по умолчанию) | 'ibeam'
| 'crosshair'
| 'watch'
| 'topl'
| 'custom'
| ...Символ указателя, заданный как один из символа, называет в следующей таблице или как 'custom'
. Внешний вид символа зависим от операционной системы.
Имя символа | Получившийся (системно-зависимый) символ |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
'fullcrosshair'
опция была удалена в R2014b.
Чтобы создать символ пользовательского указателя, установите Pointer
свойство к 'custom'
и используйте PointerShapeCData
свойство задать символ. Смотрите PointerShapeCData
свойство для получения дополнительной информации.
PointerShapeCData
Символ пользовательского указателя
- 32
матрица | 16
- 16
матрицаСимвол пользовательского указателя, заданный как 32
- 32
матрица (для 32 32 пиксельного указателя) или как 16
- 16
матрица (для 16 16 пиксельного указателя). Фигура использует этот символ указателя, когда вы устанавливаете Pointer
свойство к 'custom'
.
Каждый элемент в матрице задает уровень яркости для 1 пикселя в указателе. Элемент (1,1)
из матрицы соответствует пикселю в левом верхнем углу в указателе. Установите элементы матрицы на одно из этих значений:
1 — Черный пиксель.
2 — Белый пиксель.
NaN
— Прозрачный пиксель, такой, что базовый экран показывает через.
PointerShapeHotSpot
— Активный пиксель указателя
(значение по умолчанию) | двухэлементный векторАктивный пиксель указателя, заданного как двухэлементный вектор. Вектор содержит индексы строки и столбца конкретного элемента в PointerShapeCData
матрица, которая соответствует желаемому активному пикселю. Значение по умолчанию [1 1]
соответствует пикселю в левом верхнем углу указателя.
Если вы задаете значение вне области значений PointerShapeCData
матрица, затем указатель использует активный пиксель по умолчанию [1 1]
вместо этого.
Это свойство применяется только когда Pointer
свойство установлено в 'custom'
.
CurrentAxes
— Целевые оси в текущей фигуреAxes
возразите | PolarAxes
возразите | графический объектЦелевые оси в текущей фигуре, заданной как Axes
объект, PolarAxes
объект или графический объект, такой как HeatmapChart
.
Во всех фигурах, для которых существуют дочерние элементы осей, всегда существует текущая система координат. Текущая система координат не должна быть самыми верхними осями и установкой, оси, чтобы быть текущей системой координат не повторно складывают ее, прежде всего, другие оси. Если фигура не содержит осей, get(gcf,'CurrentAxes')
команда возвращает пустой массив.
Запросите CurrentAxes
свойство получить текущую систему координат возражает, не обеспечивая создание оси, если вы не существуете.
CurrentObject
CurrentObject Текущий объект, возвращенный как дочерний объект фигуры. MATLAB устанавливает CurrentObject
свойство к последнему объекту, по которому кликают в фигуре. Этот объект является верхним объектом в представлении.
HitTest
свойство дочернего объекта управляет, может ли тот объект стать CurrentObject
.
Нажатие на объект, чей HandleVisibility
свойством является 'off'
устанавливает CurrentObject
свойство к пустому GraphicsPlaceholder
массив. Чтобы постараться не возвращать пустой массив, когда пользователи кликнут по скрытому объекту, установите HitTest
свойство скрытого объекта к 'off'
.
Используйте gco
команда как альтернатива для получения значения этого свойства.
CurrentPoint
CurrentPoint Current point, возвращенная как двухэлементный вектор. Вектор содержит (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
'callback'. Если вы не задаете 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
'callback':
Рассмотрите задержку отображения этого контейнера до окончания всех переменных что 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
'callback'. Скопируйте и вставьте следующий код в редактор и запустите его. Затем используйте мышь, чтобы чертить набор связанных линейных сегментов:
Перетащите в осях, чтобы чертить первый линейный сегмент.
Щелкните еще раз, чтобы задать точку привязки для линейного сегмента.
Переместите мышь, чтобы добавить другой линейный сегмент.
Щелкните правой кнопкой, чтобы закончить режим рисунка.
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'
. Interruptible
свойство определяет, может ли рабочий коллбэк быть прерван.
Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Каждый раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов (если он существует). Interruptible
свойство объекта, владеющего рабочим коллбэком, определяет, позволено ли прерывание:
Значение 'on'
позволяет другим коллбэкам прерывать коллбэки объекта. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь, такой как тогда, когда существует drawnow
фигура
getframe
waitfor
, или pause
.
Если текущий обратный вызов содержит одну из этих команд, MATLAB останавливает выполнение обратного вызова в этой точке и выполняет прерывание обратного вызова. MATLAB возобновляет выполнение обратного вызова при завершении прерывания.
Если текущий обратный вызов не содержит одну из этих команд, MATLAB завершает выполнение обратного вызова без прерывания.
Значение 'off'
блоки все попытки прерывания. BusyAction
свойство объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли прерывание обратного вызова или помещается в очередь.
Прерывание и выполнение обратного вызова происходят по-разному в таких ситуациях:
Если прерыванием обратного вызова является DeleteFcn
CloseRequestFcn
, или SizeChangedFcn
коллбэк, затем прерывание происходит независимо от Interruptible
значение свойства.
Если рабочий коллбэк является выполняющимся в данным моментом waitfor
функция, затем прерывание происходит независимо от Interruptible
значение свойства.
Timer
объекты выполняются согласно расписанию независимо от Interruptible
значение свойства.
MATLAB не сохраняет состояние свойств или отображения, когда прерывание происходит. Например, объект, возвращенный gca
или gcf
команда может измениться, когда другой коллбэк выполняется.
Смотрите Выполнение обратного вызова Прерывания для примера, который показывает как Interruptible
и BusyAction
свойства влияют на поведение программы.
BusyAction
— Постановка в очередь коллбэка'queue'
(значение по умолчанию) | 'cancel'
Постановка в очередь коллбэка, заданная как 'queue'
(значение по умолчанию) или 'cancel'
. BusyAction
свойство определяет, как MATLAB обрабатывает выполнение прерываний обратного вызова. Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
BusyAction
свойство источника прерывания обратного вызова определяет, как MATLAB обрабатывает свое выполнение. BusyAction
свойство имеет эти значения:
'queue'
— Поместите прерывание обратного вызова в очередь, чтобы быть обработанными после рабочего выполнения концов коллбэка.
'cancel'
— Не выполняйте прерывание обратного вызова.
Каждый раз, когда MATLAB вызывает коллбэк, тот коллбэк всегда пытается прервать выполняющийся коллбэк. Interruptible
свойство объекта, коллбэк которого запускается, определяет, позволено ли прерывание. Если Interruptible
установлен в:
on
— Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь. Это значение по умолчанию.
off
— BusyAction
свойство (объекта, владеющего прерыванием обратного вызова), определяет, ставит ли MATLAB в очередь или игнорирует прерывание обратного вызова.
Смотрите Выполнение обратного вызова Прерывания для примера, который показывает как BusyAction
и Interruptible
свойства влияют на поведение программы.
HitTest
— Способность стать текущим объектом'on'
(значение по умолчанию) | 'off'
Способность стать текущим объектом, заданным как 'on'
или 'off'
:
'on'
— Устанавливает текущий объект на Figure
когда пользователь кликает по компоненту в запущенном приложении. Оба CurrentObject
свойство Figure
и gco
функциональный возврат Figure
как текущий объект.
'off'
— Текущий объект не обновляется, когда пользователь кликает по фигуре в запущенном приложении.
BeingDeleted
— Состояние Deletion'off'
| 'on'
Это свойство доступно только для чтения.
Состояние Deletion, возвращенное как '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
свойства.
Name
Имя''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиИмя фигуры, заданной как вектор символов или скаляр строки.
Пример: 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
.
Type
— Тип объекта Figure 'figure'
Это свойство доступно только для чтения.
Тип объекта Figure, возвращенного как 'figure'
. Используйте это свойство найти все объекты данного типа в иерархии графического вывода.
Tag
— Идентификатор объекта''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиИдентификатор объекта, заданный как вектор символов или скаляр строки. Можно задать уникальный Tag
значение, чтобы служить идентификатором для объекта. Когда вам нужен доступ к объекту в другом месте в вашем коде, можно использовать findobj
функционируйте, чтобы искать основанное на объектах на Tag
значение.
UserData
UserData []
(значение по умолчанию) | массивПользовательские данные, заданные как любой массив. Определение UserData
может быть полезно для обмена данными в рамках приложений. Смотрите Осуществляют обмен данными Среди Коллбэков для получения дополнительной информации.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.