Свойства панели

Внешний вид и поведение столбиковой диаграммы

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

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

b = bar(1:10);
c = b.FaceColor
b.FaceColor = [0 0.5 0.5];

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

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

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

Цвет заливки, заданный как триплет RGB, 'flat' или один из перечисленных в таблице параметров цвета. Опция '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'Нет цветаНе применяется

Начиная в R2017b, значением по умолчанию является триплет RGB из свойства ColorOrder осей. В предыдущих релизах значением по умолчанию был 'flat', и цвета были основаны на палитре.

Пример: b = панель (1:10, 'FaceColor', 'красный')

Пример: b. FaceColor = [0 0.5 0.5];

Пример: b. FaceColor = 'плоский';

Цвет контура, заданный как триплет RGB, 'flat' или один из перечисленных в таблице параметров цвета. Если существует 150 панелей, или меньше, значением по умолчанию является [0 0 0], который соответствует черный. Если существует больше чем 150 панелей, значением по умолчанию является 'none'.

Начиная в R2017b, опция 'flat' использует значения CData, чтобы окрасить края. В предыдущих релизах опция 'flat' окрасила края с помощью цветов из палитры.

Для пользовательского цвета укажите триплет 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'Нет цветаНе применяется

Пример: b = панель (1:10, 'EdgeColor', 'красный')

Пример: b. EdgeColor = [0 0.5 0.5];

Пример: b. EdgeColor = 'плоский';

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

Пример: b = панель (1:10, 'FaceAlpha', 0.5)

Пример: b. FaceAlpha = 0.5;

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

Пример: b = панель (1:10, 'EdgeAlpha', 0.5)

Пример: b. EdgeAlpha = 0.5;

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

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

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

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

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

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

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

Пример 1. 5

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

Тип гистограммы

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

Расположение панелей, заданных как одно из этих значений:

  • 'grouped' — Панели группы строками в Y, где Y является входным параметром к bar или функции barh, которая создала столбиковую диаграмму.

  • 'stacked' — Отобразите одну панель для каждой строки в Y. Высота панели является суммой элементов в строке. Каждая панель является разноцветной. Цвета соответствуют отличным элементам и показывают относительный вклад, который каждый элемент строки делает к полной сумме.

Относительная ширина отдельных панелей, заданных как скалярное значение в области значений [0,1]. Используйте это свойство управлять разделением панелей в группе. Значением по умолчанию является 0.8, что означает, что MATLAB® разделяет панели немного. Если вы устанавливаете это свойство на 1, то смежное касание панелей.

Пример: 0.5

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

Горизонтальная диаграмма, заданная как одно из этих значений:

  • 'on' — Отобразите панели горизонтально. Если вы создаете график с barh, то Horizontal свойство установлено в 'on'.

  • 'off' Отобразите панели вертикально. Если вы создаете график с bar, то Horizontal свойство установлено в 'off'.

BaseLine

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

Базовое значение, заданное как значение числового скаляра.

Базовое значение, которое вы задаете, применяется или к оси X или к оси Y в зависимости от ориентации столбиковой диаграммы. Если вы изменяете ориентацию столбиковой диаграммы от вертикального до горизонтали, или наоборот, базовое значение может измениться. Установите свойство BaseValue после установки свойства Horizontal.

Базовая видимость, заданная как одно из этих значений:

  • 'on' — Покажите базовую линию.

  • 'off' Скройте базовую линию.

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

Базовый объект. Для списка базовых свойств смотрите Baseline Properties.

Данные

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

Цветные данные, заданные как одно из этих значений:

  • Триплет RGB — Единственное значение цвета RGB применяется ко всем панелям.

  • Матрица с тремя столбцами — Один цвет на панель. Каждая строка в матрице задает триплет RGB для конкретной панели.

  • Скаляр — Единственный цвет применяется ко всем панелям, куда цвет прибывает из палитры.

  • Вектор — Один цвет на панель. Цвета прибывают из палитры.

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

Это свойство применяется только когда FaceColor или EdgeColor свойство установлено в 'flat'.

Пример

Измените цвет для конкретной панели путем установки свойства FaceColor на 'flat'. Затем измените соответствующую строку в матрице CData к новому триплету RGB. Например, измените цвет второй панели.

b = bar(1:10,'FaceColor','flat');
b.CData(2,:) = [0 0.8 0.8];

Местоположения панели, заданные как вектор без повторяющихся значений.

  • Для вертикальных диаграмм значения являются местоположениями панели вдоль оси X.

  • Для горизонтальных диаграмм значения являются местоположениями панели вдоль оси Y.

Также задайте местоположения панели с помощью входного параметра X для функции barh или bar. Если вы не задаете X, то индексы значений в YData определяют местоположения панели.

XData и YData должны иметь равные длины.

Пример 1: 10

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

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

  • 'auto' Используйте индексы значений в YData (или ZData для 3-D графиков).

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

Переменная соединяется с XData, заданным как вектор символа или строка, содержащая имя переменной MATLAB workspace. MATLAB оценивает переменную в базовом рабочем пространстве, чтобы сгенерировать XData.

По умолчанию связанная переменная отсутствует, поэтому значение представляет собой пустой вектор символов, ''. Если вы соединяете переменную, то MATLAB сразу не обновляет значения XData. Для принудительного обновления значения данных, используйте функцию refreshdata.

Примечание

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

Пример: X

Длины панели, заданные как вектор. Также задайте длины панели с помощью входного параметра Y для функции barh или bar.

XData и YData должны иметь равные длины.

Пример 1: 10

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

Переменная соединяется с YData, заданным как вектор символа или строка, содержащая имя переменной MATLAB workspace. MATLAB оценивает переменную в базовом рабочем пространстве, чтобы сгенерировать YData.

По умолчанию связанная переменная отсутствует, поэтому значение представляет собой пустой вектор символов, ''. Если вы соединяете переменную, то MATLAB сразу не обновляет значения YData. Для принудительного обновления значения данных, используйте функцию refreshdata.

Примечание

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

Пример: Y

Легенда

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

Метка легенды, заданная как вектор символа или скаляр строки. Легенда не отображается, пока вы не вызываете команду 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.

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

Свойство PickableParts определяет, может ли объект Bar захватить клики мыши. Если это невозможно, свойство 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.

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

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

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

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

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

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

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

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

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

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

Пример: 1:100

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

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