Surface Properties

Примитивный поверхностный внешний вид и поведение

Свойства Surface управляют внешним видом и поведением объектов Surface. Путем изменения значений свойств можно изменить определенные аспекты поверхностного графика.

Начиная с R2014b, вы можете использовать запись через точку для того, чтобы запросить и задать свойства.

s = surface;
c = s.CData;
s.CDataMapping = 'direct';

Если вы используете более раннюю версию, используйте вместо этого функции get и set.

Поверхности

развернуть все

Цвет поверхности, заданный как одно из значений в этой таблице.

ЗначениеОписание
'flat'

Используйте различный цвет для каждой поверхности на основе значений в свойстве CData. Сначала необходимо задать свойство CData как матрицу тот же размер как ZData. Значение цвета в первой вершине каждой поверхности (в положительных направлениях x и y) определяет цвет для целой поверхности. Вы не можете использовать это значение когда FaceAlpha свойство установлено в 'interp'.

'interp'

Используйте интерполированную окраску для каждой поверхности на основе значений в свойстве CData. Сначала необходимо задать свойство CData как матрицу тот же размер как ZData. Цвет отличается через каждую поверхность путем интерполяции значений цвета в вершинах. Вы не можете использовать это значение когда FaceAlpha свойство установлено в 'flat'.

Триплет RGB или название цвета

Используйте заданный цвет для всех поверхностей. Эта опция не использует значения цвета в свойстве CData.

'texturemap'Преобразуйте цветные данные в CData так, чтобы он соответствовал поверхности.
'none'Не чертите поверхности.

Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7]. Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены варианты длинного и краткого наименований цветов и их эквивалентные значения RGB.

ОпцияОписаниеЭквивалентный триплет RGB
'красный' или 'r'Красный[1 0 0]
'green' или 'g'Зеленый[0 1 0]
'blue' или 'b'Синий[0 0 1]
'yellow' или 'y'Желтый[1 1 0]
'пурпурный' или 'm'Пурпурный[1 0 1]
'голубой' или 'c'Голубой[0 1 1]
'white' или 'w'Белый[1 1 1]
'black' или 'k'Черный[0 0 0]

Столкнитесь с прозрачностью, заданной как одно из этих значений:

  • Скаляр в области значений [0,1] — универсальная прозрачность Использования через все поверхности. Значение 1 полностью непрозрачно, и 0 абсолютно прозрачен. Values between 0 and 1 are semitransparent. Эта опция не использует значения прозрачности в свойстве AlphaData.

  • 'flat' — Используйте различную прозрачность для каждой поверхности на основе значений в свойстве AlphaData. Значение прозрачности в первой вершине определяет прозрачность для целой поверхности. Сначала необходимо задать свойство AlphaData как матрицу тот же размер как свойство ZData. Свойство FaceColor также должно быть установлено в 'flat'.

  • 'interp' — Используйте интерполированную прозрачность для каждой поверхности на основе значений в свойстве AlphaData. Прозрачность отличается через каждую поверхность путем интерполяции значений в вершинах. Сначала необходимо задать свойство AlphaData как матрицу тот же размер как свойство ZData. Свойство FaceColor также должно быть установлено в 'interp'.

  • 'texturemap' — Преобразуйте данные в AlphaData так, чтобы он соответствовал поверхности.

Эффект световых объектов на поверхностях, заданных как одно из этих значений:

  • Световой сигнал 'flat' — Apply однородно через каждую поверхность. Используйте это значение, чтобы просмотреть фасетированные объекты.

  • 'gouraud' — Отличайтесь свет через поверхности. Вычислите свет в вершинах и затем линейно интерполируйте свет через поверхности. Используйте это значение, чтобы просмотреть кривые поверхности.

  • 'none' Не применяйте свет от световых объектов до поверхностей.

Чтобы добавить световой объект к осям, используйте функцию light.

Примечание

Значение 'phong' было удалено. Используйте 'gouraud' вместо этого.

Столкнитесь с подсветкой, когда нормали вершин укажут далеко от камеры, заданной как одно из этих значений:

  • 'reverselit' — Осветите поверхность как будто нормаль вершин, указанная к камере.

  • 'unlit' — Не освещайте поверхность.

  • 'lit' — Осветите поверхность согласно нормали вершин.

Используйте это свойство различить между внутренними и внешними поверхностями объекта. Для примера см. Освещение задней поверхности.

Края

развернуть все

Края, чтобы отобразиться, заданный как 'both', 'row' или 'column'.

Граничный цвет линии, заданный как одно из значений, перечисленных здесь. Цвет по умолчанию [0 0 0] соответствует черным краям.

ЗначениеОписание
'none'Не чертите края.
'flat'

Используйте различный цвет для каждого края на основе значений в свойстве CData. Сначала необходимо задать свойство CData как матрицу тот же размер как ZData. Значение цвета в первой вершине каждой поверхности (в положительных направлениях x и y) определяет цвет для смежных краев. Вы не можете использовать это значение когда EdgeAlpha свойство установлено в 'interp'.

'interp'

Используйте интерполированную окраску для каждого края на основе значений в свойстве CData. Сначала необходимо задать свойство CData как матрицу тот же размер как ZData. Цвет отличается через каждый край путем линейной интерполяции значений цвета в вершинах. Вы не можете использовать это значение когда EdgeAlpha свойство установлено в 'flat'.

Триплет RGB или название цвета

Используйте заданный цвет для всех краев. Эта опция не использует значения цвета в свойстве CData.

Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7]. Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены варианты длинного и краткого наименований цветов и их эквивалентные значения RGB.

ОпцияОписаниеЭквивалентный триплет RGB
'красный' или 'r'Красный[1 0 0]
'green' или 'g'Зеленый[0 1 0]
'blue' или 'b'Синий[0 0 1]
'yellow' или 'y'Желтый[1 1 0]
'пурпурный' или 'm'Пурпурный[1 0 1]
'голубой' или 'c'Голубой[0 1 1]
'white' или 'w'Белый[1 1 1]
'black' или 'k'Черный[0 0 0]

Граничная прозрачность, заданная как одно из этих значений:

  • Скаляр в области значений [0,1] — универсальная прозрачность Использования через все края. Значение 1 полностью непрозрачно, и 0 абсолютно прозрачен. Values between 0 and 1 are semitransparent. Эта опция не использует значения прозрачности в свойстве AlphaData.

  • 'flat' — Используйте различную прозрачность для каждого края на основе значений в свойстве AlphaData. Сначала необходимо задать свойство AlphaData как матрицу тот же размер как свойство ZData. Значение прозрачности в первой вершине определяет прозрачность для целого края. Свойство EdgeColor также должно быть установлено в 'flat'.

  • 'interp' — Используйте интерполированную прозрачность для каждого края на основе значений в свойстве AlphaData. Сначала необходимо задать свойство AlphaData как матрицу тот же размер как свойство ZData. Прозрачность отличается через каждый край путем интерполяции значений в вершинах. Свойство EdgeColor также должно быть установлено в 'interp'.

Стиль линии, заданный как одна из опций, перечислен в этой таблице.

Стиль линииОписаниеПолучившаяся строка
'-'Сплошная линия

'--'Пунктирная линия

':'Пунктирная линия

'-.'Штрих-пунктирная линия

'none'Никакая строкаНикакая строка

Ширина линии, заданная в виде положительного значения в точках. Если у линии есть маркеры, ширина линии также влияет на края маркера.

Пример: 0.75

Sharp вертикальные и горизонтальные строки, заданные как 'off' или 'on'.

Если у связанной фигуры есть набор свойств GraphicsSmoothing к 'on' и набор свойств Renderer к 'opengl', то фигура применяет метод сглаживания к графикам. В некоторых случаях этот метод сглаживания может заставить вертикальные и горизонтальные строки, кажутся неровными в толщине или цвете. Используйте свойство AlignVertexCenters устранить неровный внешний вид.

  • 'off' Не увеличивайте резкость вертикальных или горизонтальных строк. Строки могут казаться неровными в толщине или цвете.

  • 'on' — Увеличьте резкость вертикальных и горизонтальных строк, чтобы устранить неровный внешний вид.

Примечание

У вас должна быть видеокарта, которая поддерживает эту функцию. Чтобы видеть, поддерживается ли функция, введите opengl info. Если это поддержано, то возвращенные поля содержат строку SupportsAlignVertexCenters: 1.

Эффект световых объектов на краях, заданных как одно из этих значений:

  • Световой сигнал 'flat' — Apply однородно через каждого ограничивается.

  • 'none' Не применяйте световые сигналы от световых объектов до краев.

  • 'gouraud' — Вычислите свет в вершинах, и затем линейно интерполируйте через края.

Примечание

Значение 'phong' было удалено. Используйте 'gouraud' вместо этого.

Маркеры

развернуть все

Символ маркера, заданный как одно из значений, перечислен в этой таблице. По умолчанию объект не отображает маркеры. Определение символа маркера добавляет маркеры в каждой точке данных или вершине.

ЗначениеОписание
OКруг
'+'Знак «плюс»
'*'Звездочка
'.'Точка
XКрест
square' или 's'Квадрат
'diamond' или 'd'Ромб
'^'Треугольник, направленный вверх
VНисходящий треугольник
'>'Треугольник, указывающий вправо
'<'Треугольник, указывающий влево
pentagram' или 'p'Пятиконечная звезда (пентаграмма)
'hexagram' or 'h'Шестиконечная звезда (гексаграмма)
'none'Никакие маркеры

Размер маркера, заданный как положительное значение в точках.

Пример: 10

Цвет контура маркера, заданный как 'auto', 'flat', триплет RGB или один из перечисленных в таблице параметров цвета.

  • 'auto' Используйте тот же цвет в качестве свойства EdgeColor.

  • 'flat' — Используйте значение CData в вершине, чтобы выбрать цвет.

Для пользовательского цвета укажите триплет RGB. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7]. Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены варианты длинного и краткого наименований цветов и их эквивалентные значения RGB.

ОпцияОписаниеЭквивалентный триплет RGB
'красный' или 'r'Красный[1 0 0]
'green' или 'g'Зеленый[0 1 0]
'blue' или 'b'Синий[0 0 1]
'yellow' или 'y'Желтый[1 1 0]
'пурпурный' или 'm'Пурпурный[1 0 1]
'голубой' или 'c'Голубой[0 1 1]
'white' или 'w'Белый[1 1 1]
'black' или 'k'Черный[0 0 0]
'none'Нет цветаНе применяется

Цвет заливки маркера, заданный как 'auto', 'flat', триплет RGB или один из перечисленных в таблице параметров цвета.

  • 'auto' Используйте тот же цвет в качестве свойства Color для осей.

  • 'flat' — Используйте значение CData вершины, чтобы выбрать цвет.

Для пользовательского цвета укажите триплет RGB. Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7]. Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены варианты длинного и краткого наименований цветов и их эквивалентные значения RGB.

ОпцияОписаниеЭквивалентный триплет RGB
'красный' или 'r'Красный[1 0 0]
'green' или 'g'Зеленый[0 1 0]
'blue' или 'b'Синий[0 0 1]
'yellow' или 'y'Желтый[1 1 0]
'пурпурный' или 'm'Пурпурный[1 0 1]
'голубой' или 'c'Голубой[0 1 1]
'white' или 'w'Белый[1 1 1]
'black' или 'k'Черный[0 0 0]
'none'Нет цветаНе применяется

Это свойство влияет только на круг, квадрат, ромб, пентаграмму, гексаграмму и четыре треугольных типа маркера.

Example: [0.3 0.2 0.1]

Пример: 'green'

Координатные данные

развернуть все

данные x-координаты задали как матрица, которая одного размера как ZData или вектор length(n), где [m,n] = size(ZData).

Типы данных: единственный | удваиваются | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | категориальный | datetime | длительность

Режим выбора для XData, заданного как одно из этих значений:

  • 'auto' Используйте индексы столбца ZData.

  • 'manual' — Используйте вручную заданное значение. Чтобы задать значение, передайте входной параметр функции построения графика или непосредственно установите свойство XData.

данные y-координаты задали как матрица, которая одного размера как ZData или вектор length(m), где [m,n] = size(ZData).

Типы данных: единственный | удваиваются | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | категориальный | datetime | длительность

Режим выбора для YData, заданного как одно из этих значений:

  • 'auto' Используйте индексы строки ZData.

  • 'manual' — Используйте вручную заданное значение. Чтобы задать значение, передайте входной параметр функции построения графика или непосредственно установите свойство YData.

данные z-координаты, заданные как матрица.

Типы данных: единственный | удваиваются | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | категориальный | datetime | длительность

Цвет и данные прозрачности

развернуть все

Цвета вершины, заданные в одной из следующих форм:

  • 2D массив — цвета палитры Использования. Задайте цвет для каждой вершины установкой CData к массиву тот же размер как ZData. Свойство CDataMapping определяет, как эти значения сопоставляют в текущую палитру. Если FaceColor свойство установлено в 'texturemap', то CData не должен быть одного размера как ZData. Однако это должно иметь тип double или uint8. Карта значений CData, чтобы соответствовать поверхности, заданной ZData.

  • Трехмерный массив — истинные цвета Использования. Задайте цвет триплета RGB для каждой вершины установкой CData к m n 3 массивами где [m,n] = size(ZData). Триплет RGB является трехэлементным вектором, который задает интенсивность красных, зеленых, и синих компонентов цвета. Первая страница массива содержит красные компоненты, второе зеленые компоненты и третье синие компоненты цветов. Поскольку поверхность использует истинные цвета вместо цветов палитры, свойство CDataMapping не имеет никакого эффекта.

    • Если CData имеет тип double или single, то значение триплета RGB [0 0 0] соответствует черный, и [1 1 1] соответствует белый.

    • Если CData является целым типом, то поверхность использует полный спектр данных, чтобы определить цвет. Например, если CData имеет тип uint8, то [0 0 0] соответствует черный, и [255 255 255] соответствует белый. Если CData имеет тип int8, то [-128 -128 -128] соответствует черный, и [127 127 127] соответствует белый.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Режим выбора для CData, заданного как одно из этих значений:

  • 'auto' Используйте значения ZData, чтобы выбрать цвета.

  • 'manual' — Использовать заданные вручную значения. Чтобы задать значения, установите свойство CData.

Прямой или масштабируемый colormapping, заданный как одно из этих значений:

  • scaled — Преобразуйте цветные данные, чтобы охватить фрагмент палитры, обозначенной свойством CLim осей, линейно сопоставив значения данных с цветами. Смотрите страницу с описанием caxis для получения дополнительной информации об этом отображении.

  • direct — Используйте цветные данные в качестве индексов непосредственно в палитру. Цветные данные должны затем быть целочисленными значениями в пределах от 1 к length(colormap). MATLAB® сопоставляет значения, меньше чем 1 к первому раскрашивает палитру и значения, больше, чем length(colormap) к последнему цвету в палитре. Значения с десятичным фрагментом фиксируются к самому близкому более низкому целому числу.

Данные прозрачности для каждой вершины, заданной как массив тот же размер как свойство ZData. После определения значений, набор свойства FaceAlpha и EdgeAlpha управлять типом прозрачности. Если свойства FaceAlpha и EdgeAlpha оба установлены в скалярные значения, то поверхность не использует значения AlphaData.

Свойство AlphaDataMapping определяет, как поверхность интерпретирует значения свойств AlphaData.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | логический

Интерпретация значений AlphaData, заданных как одно из этих значений:

  • 'none' Интерпретируйте значения как значения прозрачности. Значение 1 или больше абсолютно непрозрачно, значение 0 или меньше абсолютно прозрачно, и значение между 0 и 1 является полупрозрачным.

  • 'scaled' — Сопоставьте значения в alphamap фигуры. Минимальные и максимальные альфа-пределы осей определяют значения AlphaData, которые сопоставляют с первыми и последними элементами в alphamap, соответственно. Например, если альфа-пределами является [3 5], то значения 3 или меньшего количества карты к первому элементу в alphamap. Значения 5 или большей карты к последнему элементу в alphamap. Свойство ALim осей содержит альфа-пределы. Свойство Alphamap фигуры содержит alphamap.

  • 'direct' — Интерпретируйте значения как индексы в alphamap фигуры. Значения с десятичным фрагментом фиксируются к самому близкому более низкому целому числу.

    • Если значения имеют тип double или single, то значения 1 или менее карт к первому элементу в alphamap. Значения, равные или больше, чем длина alphamap, сопоставляют с последним элементом в alphamap.

    • Если значения имеют целый тип, то значения 0 или меньше карт к первому элементу в alphamap. Значения, равные или больше, чем длина alphamap, сопоставляют с последним элементом в alphamap (или до пределов области значений типа). Целыми типами является uint8, uint16, uint32, uint64, int8, int16, int32 и int64.

    • Если значения имеют тип logical, то значения 0 карт к первому элементу в alphamap и значения 1 карты к второму элементу в alphamap.

Нормали

развернуть все

Векторы нормали для каждой поверхностной вершины, заданной как m n 3 массивами, где [m,n] = size(ZData). Задайте один вектор нормали на вершину.

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

Типы данных: single | double

Режим выбора для VertexNormals, заданного как одно из этих значений:

  • 'auto' Вычислите векторы нормали на основе координатных данных.

  • 'manual' — Использовать заданные вручную значения. Чтобы задать значения, установите свойство VertexNormals.

Векторы нормали для каждой поверхностной поверхности, заданной как (m-1) (n-1)-by-3 массив, где [m,n] = size(ZData). Задайте один вектор нормали на поверхность.

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

Типы данных: single | double

Режим выбора для FaceNormals, заданного как одно из этих значений:

  • 'auto' Вычислите векторы нормали на основе координатных данных.

  • 'manual' — Использовать заданные вручную значения. Чтобы задать значения, установите свойство FaceNormals.

Подсветка

развернуть все

Сила рассеянного света, заданного как скалярное значение в области значений [0,1]. Рассеянный свет является ненаправленным светом, который освещает целую сцену. Должен быть по крайней мере один видимый световой объект в осях для рассеянного света, чтобы быть видимым.

Свойство AmbientLightColor для осей выбирает цвет рассеянного света. Цвет является тем же самым для всех объектов в осях.

Пример: 0.5

Типы данных: double

Сила рассеянного света, заданного как скалярное значение в области значений [0,1]. Рассеянный свет является незеркальным коэффициентом отражения от световых объектов в осях.

Пример: 0.3

Типы данных: double

Сила зеркального отражения, заданного как скалярное значение в области значений [0,1]. Зеркальные отражения являются яркими пятнами на поверхности от световых объектов в осях.

Пример: 0.3

Типы данных: double

Размер зеркального пятна, заданного как скалярное значение, больше, чем или равный 1. Большинство материалов имеет экспоненты в области значений [5 20].

Пример 7

Типы данных: double

Цвет зеркальных отражений, заданных как скалярное значение в области значений [0,1]. Значение 1 выбирает цвет с помощью только цвет источника света. Значение 0 выбирает цвет с помощью и цвета объекта, от которого это отражается и цвет источника света. Свойство Color света содержит цвет источника света. Пропорции отличаются линейно для промежуточных значений.

Пример: 0.5

Типы данных: double

Легенда

развернуть все

Метка легенды, заданная как вектор символа или скаляр строки. Легенда не отображается, пока вы не вызываете команду legend. Если вы не задаете текст, то legend устанавливает метку с помощью формы 'dataN'.

Это свойство доступно только для чтения.

Управление включения объекта в легенду или исключения из нее, возвращаемое в качестве объекта аннотации. Задайте базовое свойство IconDisplayStyle одному из следующих значений:

  • 'on' — включить объект в легенду (по умолчанию).

  • 'off' — Не включать объект в легенду.

Например, чтобы исключить графический объект, go, от легенды установил свойство IconDisplayStyle на 'off'.

go.Annotation.LegendInformation.IconDisplayStyle = 'off';

Кроме того, вы можете управлять элементами легенды, используя функцию legend. Укажите первый входной аргумент в качестве вектора включаемых графических объектов. Если вы не задаете существующий графический объект в первом входном параметре, то это не появляется в легенде. Однако графические объекты, добавленные к осям после легенды, создаются, действительно появляются в легенде. Рассмотрите создание легенды после создания всех графиков избежать дополнительных элементов.

Интерактивность

развернуть все

Состояние видимости, заданное в качестве одного из следующих значений:

  • 'on' — Отображать объект.

  • 'off' — Скрыть объект, не удаляя его. Вы по-прежнему можете получать доступ к свойствам невидимого объекта.

Контекстное меню, заданное как объект ContextMenu. Используйте это свойство для отображения контекстного меню при щелчке правой кнопкой мыши по объекту. Создайте контекстное меню с помощью функции uicontextmenu.

Примечание

Если для свойства PickableParts задано значение 'none', или если для свойства HitTest установлено значение 'off', контекстное меню не отображается.

Состояние выбора, заданное как одно из следующих значений:

  • 'on' — Выбран. Если вы кликаете на объект, находясь в режиме редактирования графика, MATLAB устанавливает для свойства Selected значение 'on'. Если для свойства SelectionHighlight задано значение 'on', MATLAB отображает маркеры выделения вокруг объекта.

  • off' — Не выбран.

Отображение маркеров выделения, заданное как одно из следующих значений:

  • 'on' — Отображать маркеры выделения, если для свойства Selected задано значение 'on'.

  • 'off' — Никогда не отображать маркеры выделения, даже если для свойства Selected задано значение 'on'.

Усечение объекта к пределам осей, заданным как одно из этих значений:

  • 'on' — Не отображайте части объекта, которые являются вне пределов осей.

  • 'off' Отобразите целый объект, даже если части его появляются вне пределов осей. Части объектной силы появляются вне пределов осей, если вы создаете график, устанавливаете hold on, замораживаете масштабирование оси, и затем создаете объект так, чтобы это было больше, чем исходный график.

Свойство Clipping осей, которое содержит объект, должно быть установлено в 'on'. В противном случае это свойство не имеет никакого эффекта. Для получения дополнительной информации о поведении усечения, смотрите свойство Clipping осей.

Обратные вызовы

развернуть все

Обратный вызов по клику мыши, заданный как одно из следующих значений:

  • Указатель на функцию

  • Массив ячейки, содержащий указатель на функцию и дополнительные аргументы

  • Вектор со строкой символов, являющийся действительной командой или функцией MATLAB, которая оценивается в базовом рабочем пространстве (не рекомендуется)

Используйте это свойство для выполнения кода при клике по объекту. Если вы задаете это свойство с помощью указателя на функцию, то MATLAB передает два аргумента функции обратного вызова при выполнении обратного вызова:

  • Объект, по которому кликают — свойства Access объекта, по которому кликают, из функции обратного вызова.

  • Данные о событиях — Пустой аргумент. Замените его на символ тильды (~) в функциональном определении, чтобы указать, что этот аргумент не используется.

Дополнительные сведения о том, как использовать указатели на функцию для определения функций обратного вызова, см. в разделе "Определение обратного вызова".

Примечание

Если для свойства PickableParts задано значение 'none', или если для свойства HitTest задано значение 'off', этот обратный вызов не выполняется.

Создание обратного вызова, заданное как одно из следующих значений:

  • Указатель на функцию

  • Массив ячейки, содержащий указатель на функцию и дополнительные аргументы

  • Вектор со строкой символов, являющийся действительной командой или функцией MATLAB, которая оценивается в базовом рабочем пространстве (не рекомендуется)

Используйте это свойство для выполнения кода при создании объекта. MATLAB выполняет обратный вызов после создания объекта и настройки всех его свойств. Установка значения свойства CreateFcn не влияет на существующий объект . Для того, чтобы действие было эффективным, вам необходимо задать свойство CreateFcn во время создания объекта. Один из способов задать свойство во время создания объекта — задать значение свойства по умолчанию для объекта. Для получения дополнительной информации см. Раздел "Значения свойств по умолчанию".

Если вы задаете данный обратный вызов с помощью указателя на функцию, MATLAB передает два аргумента в функцию обратного вызова при выполнении обратного вызова:

  • Созданный объект — свойства Access объекта из функции обратного вызова. Также можно получить доступ к объекту через свойство CallbackObject графического корневого объекта, который может быть запрошен с помощью функции gcbo.

  • Данные о событиях — Пустой аргумент. Замените его на символ тильды (~) в функциональном определении, чтобы указать, что этот аргумент не используется.

Дополнительные сведения о том, как использовать указатели на функцию для определения функций обратного вызова, см. в разделе "Определение обратного вызова".

Удаление обратного вызова, заданное как одно из следующих значений:

  • Указатель на функцию

  • Массив ячейки, содержащий указатель на функцию и дополнительные аргументы

  • Вектор со строкой символов, являющийся действительной командой или функцией MATLAB, которая оценивается в базовом рабочем пространстве (не рекомендуется)

Используйте это свойство для выполнения кода при удалении объекта. MATLAB выполняет обратный вызов перед уничтожением объекта, чтобы обратный вызов мог получить доступ к значениям его свойств.

Если вы задаете данный обратный вызов с помощью указателя на функцию, MATLAB передает два аргумента в функцию обратного вызова при выполнении обратного вызова:

  • Удаленный объект — свойства Access объекта из функции обратного вызова. Также можно получить доступ к объекту через свойство CallbackObject графического корневого объекта, который может быть запрошен с помощью функции gcbo.

  • Данные о событиях — Пустой аргумент. Замените его на символ тильды (~) в функциональном определении, чтобы указать, что этот аргумент не используется.

Дополнительные сведения о том, как использовать указатели на функцию для определения функций обратного вызова, см. в разделе "Определение обратного вызова".

Контроль выполнения обратного вызова

развернуть все

Постановка обратного вызова в очередь задается как 'queue' или 'cancel'. Свойство BusyAction определяет, как MATLAB обрабатывает выполнение прерывания обратных вызовов.

Рассмотрите эти состояния обратного вызова где:

  • Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

Каждый раз, когда MATLAB инициирует обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов. Прерываемое свойство объекта, владеющего рабочим обратным вызовом, определяет, разрешено ли прерывание. Если прерывание не разрешено, то свойство BusyAction объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли это или вставило очередь.

Если обратный вызов объекта Surface пытается прервать рабочий обратный вызов, который не может быть прерван, то свойство BusyAction определяет, отбрасывается ли это или вставило очередь. Задайте свойство BusyAction как одно из следующих значений:

  • 'queue' — поместите прерывающий обратный вызов в очередь вызовов, подлежащих обработке после завершения обратного вызова. (поведение по умолчанию)

  • cancel' — Отменить прерывание обратного вызова.

Прерывание обратного вызова, обозначаемое как 'on' или 'off'. Свойство «Прерывание» определяет, можно ли прерывать выполняемый обратный вызов.

Примечание

Рассмотрите эти состояния обратного вызова где:

  • Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

Каждый раз, когда MATLAB инициирует обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов. Прерываемое свойство объекта, владеющего рабочим обратным вызовом, определяет, разрешено ли прерывание. Если прерывание не разрешено, то свойство BusyAction объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли это или вставило очередь.

Свойство Interruptible определяет, может ли другой обратный вызов прервать обратный вызов ButtonDownFcn объекта Surface. Свойство Interruptible имеет два значения:

  • 'on' — Прервать. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь. Например, очереди обрабатываются командами, такими как drawnow, фигура, getframe, waitfor, делают паузу, и waitbar.

  • 'off' — Не прерывать. MATLAB завершает выполнение обратного вызова без каких-либо прерываний.

Возможность осуществить захват кликов мыши, заданная как одно из следующих значений:

  • 'visible' — Захватите клики мыши, когда видимый. Свойство Visible должно быть установлено в 'on', и необходимо кликнуть по части объекта Surface, который имеет заданный цвет. You cannot click a part that has an associated color property set to 'none'., Если график содержит маркеры, то целый маркер активируем кликом мыши, если или край или заливка имеют заданный цвет. Свойство HitTest определяет, отвечает ли объект Surface на нажатие кнопки или если предок делает.

  • все Захватите клики мыши независимо от видимости. Свойство Visible может быть установлено в 'on' или 'off', и можно кликнуть по части объекта Surface, который не имеет никакого цвета. Свойство HitTest определяет, отвечает ли объект Surface на нажатие кнопки или если предок делает.

  • 'none' — Невозможно захватить клики мыши. Нажатие на Объект подложки передает нажатие кнопки через него к объекту ниже его в текущем представлении окна фигуры. Свойство hittest не имеет никакого эффекта.

Ответ на захваченные клики мыши, заданный как одно из следующих значений:

  • 'on' — Инициируйте обратный вызов ButtonDownFcn объекта Surface. Если вы определили свойство UIContextMenu, активируйте контекстное меню.

  • 'off' Инициируйте обратные вызовы для самого близкого предка объекта Surface, который имеет один из них:

    • Набор свойств HitTest к 'on'

    • Набор свойств PickableParts к значению, которое позволяет предку захватить клики мыши

Примечание

Свойство PickableParts определяет, может ли объект Surface захватить клики мыши. Если это невозможно, свойство HitTest никоим образом на это не влияет.

Это свойство доступно только для чтения.

Удаление статуса, возврат на 'off' или 'on'. MATLAB устанавливает свойство BeingDeleted на 'on', когда функция удаления объекта начинает выполняться (см. ""Свойство DeleteFcn""). Свойство BeingDeleted остается в установленном значении 'on', до того момента, как объект перестанет существовать.

Проверьте значение свойства BeingDeleted, если необходимо проверить, что объект не собирается быть удаленным прежде, чем запросить или изменить его.

Родительский элемент/Дочерний элемент

развернуть все

Родитель, заданный как объект Axes, Group или Transform.

Видимость указателя на объект в свойстве Children родителя, заданная как одно из следующих значений:

  • on' — указатель на объект всегда отображается.

  • off' — указатель на объект всегда невидим. Эта опция предназначена для предотвращения непреднамеренных изменений в пользовательском интерфейсе другой функцией. Установите значение 'off' в HandleVisibility, чтобы временно скрыть указатель в течение выполнения этой функции.

  • callback' — указатель на объект виден из обратных вызовов или функций, вызываемых обратными вызовами, но не из функций, инициируемых из командной строки. Эта опция блокирует доступ к объекту в командной строке, но разрешает функциям обратного вызова получать доступ к нему.

Если объект не указан в свойстве Children родителя, то функции, которые получают указатели на объекты путем поиска иерархии объектов или запросов свойств указателя, не могут вернуть его. Примеры таких функций включают получать, findobj, gca, gcf, gco, newplot, cla, clf, и близко функционирует.

Скрытые указатели на объекты все еще действительны. Установите значение корневого свойства ShowHiddenHandles на 'on', чтобы отобразить все указатели на объекты независимо от значения свойства HandleVisibility.

У объекта нет дочерних элементов. Вы не можете задать это свойство.

Идентификаторы

развернуть все

Пометьте, чтобы сопоставить с объектом surface, заданным как вектор символа или представить скаляр в виде строки.

Используйте это свойство найти объекты surface в иерархии. Например, можно использовать функцию findobj, чтобы найти объекты surface, которые имеют определенное значение свойства Tag.

Пример: 'Данные в январе'

Это свойство доступно только для чтения.

Тип графического объекта, возвращенного как 'surface'

Пользовательские данные, чтобы сопоставить с объектом surface, заданным как любые данные MATLAB, например, скаляр, вектор, матрица, массив ячеек, символьный массив, таблица или структура. MATLAB не использует это данные.

Чтобы связать несколько наборов данных или прикрепить имя поля к данным, используйте функции getappdata и setappdata.

Пример: 1:100

Представлено до R2006a

Была ли эта тема полезной?