FunctionContour Properties

Очертите вид диаграммы и поведение

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

Уровни

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

Очертите уровни, заданные как вектор z значений. По умолчанию функция fcontour выбирает значения, которые порождают линейную оболочку столбцов значений в свойстве ZData.

Установка этого наборы свойств связанное свойство режима к руководству.

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

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

  • 'auto' Определите значения на основе значений ZData.

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

Разрядка между линиями контура, заданными как скалярное числовое значение. Например, задайте значение 2, чтобы чертить линии контура в шаге 2. По умолчанию LevelStep определяется при помощи значений ZData.

Установка этого наборы свойств связанное свойство режима к 'manual'.

Пример: 3.4

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

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

  • 'auto' Определите значение на основе значений ZData.

  • 'manual' — Используйте вручную заданное значение. Чтобы задать значение, установите свойство LevelStep. Когда режимом является 'manual', значение LevelStepMode не изменяется, когда свойство Function или пределы изменяются.

Цвет и моделирование

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

Заполните между линиями контура, заданными как одно из этих значений:

  • 'off' Не заполняйте пробелы между линиями контура с цветом.

  • 'on' — Заполните пробелы между линиями контура с цветом.

Цвет линий контура, заданных как 'flat', триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое название. Чтобы использовать различный цвет для каждой линии контура, задайте 'flat'. Цвет определяется значением контура строки, палитры и масштабирования значений данных в палитру. Для получения дополнительной информации о цветном масштабировании смотрите caxis.

Чтобы использовать тот же цвет для всех линий контура, задайте триплет RGB, шестнадцатеричный цветовой код, название цвета или краткое название.

Для пользовательского цвета задайте триплет 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'

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

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

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

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

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

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

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

Функция

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

Функция, чтобы построить, заданный как указатель на функцию, анонимная функция, или символьное выражение или функция.

Графический вывод интервала для значений x, заданных как двухэлементный вектор формы [xmin xmax].

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

  • 'auto' Используйте значение по умолчанию [-5 5]. Если пределы осей заданы, следуют за заданными пределами вместо этого.

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

Графический вывод интервала для значений y, заданных как двухэлементный вектор формы [ymin ymax].

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

  • 'auto' Используйте значение по умолчанию [-5 5]. Если пределы осей заданы, следуют за заданными пределами вместо этого.

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

Количество оценки указывает на направление, заданное как номер. Значением по умолчанию является 71. Поскольку fcontour использует адаптивную оценку, фактическое количество точек оценки больше.

Пример: 30

Данные

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

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

Определения линии контура, возвращенные как матрица 2D строки. Каждая линия контура в графике имеет связанное определение. Если график имеет в общей сложности линии контура N, то матрица контура состоит из определений N:

C = [C(1) C(2)...C(k)...C(N)]
Каждое определение линии контура следует за этим шаблоном:
C(k) = [level   x(1) x(2)...
        numxy   y(1) y(2)... ]
Первая запись, level, указывает на уровень контура, где линия контура чертится. Ниже контура уровень является количеством (x, y) вершины, которые задают линию контура. Остальные столбцы содержат данные для каждой из вершин. Если первые и последние вершины являются тем же самым, то линия контура является замкнутым циклом. Если конкретный уровень контура имеет несколько линий контура в графике, то матрица содержит отдельное определение для каждой строки.

Пример

Создайте контурный график x^2 + y^2. В демонстрационных целях используйте самый низкий MeshDensity, который приводит к графику, который является 3.

h = fcontour(@(x,y) x.^2+y.^2, 'MeshDensity', 3);
grid on

Доступ к матрице контура использование свойства ContourMatrix объекта контура (h.ContourMatrix). Матрица контура содержит определения для каждой из этих семи линий контура. Круги на этом матричном показе начало определений линии контура.

Первое определение в матрице указывает, что существует линия контура, чертившая на уровне 5, состоя из этих пяти вершин (1,0), (0,-1), (-1,0), (0,1) и (1,0). Поскольку первые и последние вершины являются тем же самым, линия контура является замкнутым циклом. Последнее определение указывает, что существует точка на уровне 50, потому что строка запускается и заканчивается в той же точке без прошедших точек.

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

x значения, заданные как матрица. XData является, по крайней мере, матрицей 2 на 2. size(XData), size(YData) и size(ZData) равны.

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

y значения, заданные как матрица. YData является, по крайней мере, матрицей 2 на 2. size(XData), size(YData) и size(ZData) равны.

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

Данные, которые задают поверхность, чтобы очертить, заданный как матрица. ZData является, по крайней мере, матрицей 2 на 2. size(XData), size(YData) и size(ZData) равны.

Легенда

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

Текст для метки легенды, заданной как пользовательский вектор символов или строка. Метка по умолчанию автоматически генерируется из свойства Function и функции texlabel. Легенда не появляется, пока вы не вызываете функцию legend.

Типы данных: char | string

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

Управление включения объекта в легенду или исключения из нее, возвращаемое в качестве объекта аннотации. Задайте базовое свойство 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'.

Коллбэки

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

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

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

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

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

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

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

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

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

Примечание

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

Функция создания объекта, заданная как одно из этих значений:

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

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

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

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

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

Настройка свойства CreateFcn в существующем компоненте не имеет никакого эффекта.

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

Функция удаления объекта, заданная как одно из этих значений:

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

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

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

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

Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB удаляет объект. MATLAB выполняет обратный вызов DeleteFcn перед уничтожением свойств объекта. Если вы не задаете свойство DeleteFcn, то MATLAB выполняет функцию удаления по умолчанию.

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

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

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

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

Существует два состояния обратного вызова:

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

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

Каждый раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов (если он существует). Свойство «Прерывание» объекта, имеющего текущий обратный вызов, определяет, разрешено ли прерывание. Свойство «Прерывание» имеет два возможных значения:

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

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

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

  • 'off' Блоки все попытки прерывания. Свойство BusyAction объекта, владеющего прерывистым обратным вызовом, определяет, отменяется ли прерывание обратного вызова или помещается в очередь.

Примечание

Прерывание и выполнение обратного вызова происходят по-разному в таких ситуациях:

  • Если прерывающий обратный вызов является обратным вызовом DeleteFcn, CloseRequestFcn или SizeChangedFcn, то прерывание происходит независимо от значения свойства прерывания.

  • Если текущий обратный вызов выполняет функцию waitfor, то прерывание происходит независимо от значения свойства прерывания.

  • Объекты-таймеры выполняются в соответствии с расписанием независимо от значения свойства прерывания.

Когда происходит прерывание, MATLAB не сохраняет состояние свойств или изображения. Например, объект, возвращенный командой gca или gcf, может измениться при выполнении другого обратного вызова.

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

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

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

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

  • 'queue' — Помещает прерывание обратного вызова в очередь, чтобы быть обработанным после рабочего выполнения концов коллбэка.

  • отмена Не выполняет прерывание обратного вызова.

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Тип графического объекта, возвращенного как 'functioncontour'. Используйте это свойство найти все объекты данного типа в иерархии графического вывода, например, ища тип с помощью findobj.

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

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

Если вы работаете в App Designer, создаете публичные или частные свойства в приложении, чтобы осуществлять обмен данными вместо того, чтобы использовать свойство UserData. Для получения дополнительной информации смотрите, Осуществляют обмен данными В рамках Приложений App Designer.

Введенный в R2016a