brush

Интерактивно помечайте значения данных на графике

Описание

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

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

Создание

Описание

пример

brush on включает окрашивание в текущей фигуре. С помощью окрашивания отметьте одно значение данных, нажав на него. Отметьте несколько значений данных путем перетаскивания прямоугольника выделения вокруг них. Чтобы добавить дополнительные метки или удалить нежелательные метки, удерживайте клавишу Shift при окрашивании значений.

brush off отключает окрашивание. Если на графике есть существующие метки кисти, эта команда не удаляет их.

brush переключение режима окрашивания между 'on' и 'off'.

brush(color) устанавливает цвет для последующих меток кисти. Установка цвета кисти не влияет на текущие метки, если вы не окрашиваете данные, не изменяете цвет кисти, а затем не добавляете или не удаляете метки с помощью клавиши Shift. В этом случае все метки обновляются до нового цвета.

brush(fig,___) устанавливает режим кисти или цветовые опции для заданного рисунка. Для примера, brush(fig,'on').

пример

b = brush(___) создает brush объект. Этот синтаксис полезен для управления режимом кисти, цветом и свойствами коллбэка.

Входные параметры

расширить все

Целевой рисунок, заданная как Figure объект. Если вы не задаете рисунок, то окрашивание влияет на текущую фигуру.

Цвет метки кисти, заданный как триплет RGB или название цвета. Чтобы создать метки кисти определенного цвета, установите свойство color перед окрашиванием значений данных. Установка цвета кисти не влияет на текущие метки, если вы не окрашиваете данные, не изменяете цвет кисти, а затем не добавляете или не удаляете метки с помощью клавиши Shift. В этом случае все метки обновляются до нового цвета.

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

Название цветаКраткое имяТриплет RGBВнешность
'red''r'[1 0 0]

Sample of the color red

'green''g'[0 1 0]

Sample of the color green

'blue''b'[0 0 1]

Sample of the color blue

'cyan' 'c'[0 1 1]

Sample of the color cyan

'magenta''m'[1 0 1]

Sample of the color magenta

'yellow''y'[1 1 0]

Sample of the color yellow

'black''k'[0 0 0]

Sample of the color black

'white''w'[1 1 1]

Sample of the color white

Вот триплеты RGB для цветов по умолчанию MATLAB® использует на многих типах графиков.

Триплет RGBВнешность
[0 0.4470 0.7410]

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

Свойства

расширить все

Цвет метки кисти, заданный как триплет RGB, шестнадцатеричный код цвета, название цвета или краткое имя. Чтобы создать метки кисти определенного цвета, установите свойство color перед окрашиванием значений данных. Установка цвета кисти не влияет на текущие метки, если вы не окрашиваете данные, не изменяете цвет кисти, а затем не добавляете или не удаляете метки с помощью клавиши Shift. В этом случае все метки обновляются до нового цвета.

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

Режим окрашивания, заданный как 'off' или 'on'.

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

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

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

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

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

  • figure - Фигура, который вы окрашиваете.

  • axesStruct - Структура, содержащая окрашенные оси. Эта структура имеет одно поле, Axes, объект осей, который вы окрашиваете. Если вы не используете этот аргумент в функции обратного вызова, то замените его на символ tilde (~).

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

Функция для выполнения после окрашивания, заданная как одно из следующих значений:

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

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

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

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

  • figure - Фигура, который вы окрашиваете.

  • axesStruct - Структура, содержащая окрашенные оси. Эта структура имеет одно поле, Axes, объект осей, который вы окрашиваете. Если вы не используете этот аргумент в функции обратного вызова, то замените его на символ tilde (~).

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

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

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

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

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

Используйте это свойство для подавления окрашивания в заданных условиях. Числовой или логический выход 1 (true) подавляет действие кисти и числовой или логический выход 0 (false) позволяет продолжить действие кисти. Если вы задаете это свойство с помощью указателя на функцию, то MATLAB передает два аргумента в функцию обратного вызова при выполнении коллбэка:

  • axes - Объект осей, который вы окрашиваете.

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

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

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

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

Figure объект, в котором появляются метки кисти.

Устаревший режим, заданный как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

Установка значения свойства 'on' изменяет поведение режимов взаимодействия в фигурах пользовательского интерфейса так, чтобы они совпадали с поведением режимов в традиционных рисунках. Для получения дополнительной информации см. enableLegacyExplorationModes.

Если для этого свойства задано значение 'on', его нельзя изменить назад на 'off'.

Это свойство применяется только к объектам кисти для рисунков, созданных с помощью uifigure функция или в MATLAB Online™.

Примеры

свернуть все

Используйте окрашивание, чтобы пометить значения данных на графике поля точек. Во-первых, постройте график случайных x и y значения. Затем включите окрашивание и используйте мышь, чтобы перетащить прямоугольник вокруг некоторых точек.

x = rand(20,1);
y = rand(20,1);
scatter(x,y)
brush('on')

Scatter plot with a rectangle surrounding some points. The surrounded points have a red fill instead of no fill.

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

Scatter plot with a red rectangle surrounding a different group of points. Points in both groups have a red fill.

Очистить все метки кисти можно нажав или перетащив мышью пустую область осей.

График значений данных на столбчатую диаграмму и создание объекта кисти. Затем включите окрашивание и установите цвет кисти равным 'green' путем обновления свойств объекта. Наконец, отметьте значения данных путем включения максимального значения каждой полосы в прямоугольник выбора.

y = [75 91 105 123.5 131 150 179 203 226 249 281.5];
bar(y)
b = brush;
b.Enable = 'on';
b.Color = 'green';

Bar chart with a rectangle around the maximum value of some bars. The selected bars have a green fill instead of a blue fill.

Сохраните кистевые данные в переменной с помощью контекстного меню. Во-первых, постройте график x и y значения. Включите окрашивание, а затем отметьте некоторые значения данных.

x = linspace(0,5,30);
y = exp(x);
plot(x,y)
brush('on')

Line plot with a rectangle surrounding some points. The line and data values in the rectangle are highlighted in red.

Чтобы сохранить окрашенные данные в переменной, щелкните правой кнопкой по значению окрашенных данных и выберите Export brushed из контекстного меню. В ответ на запрос введите имя переменной. В этом случае используйте имя bData. Наконец, просмотрите содержимое bData.

bData
bData =

    3.2759   26.4660
    3.4483   31.4461
    3.6207   37.3633
    3.7931   44.3940
    3.9655   52.7475
    4.1379   62.6730
    4.3103   74.4662
    4.4828   88.4784
    4.6552  105.1273

Удалите окрашенные данные из графика с помощью контекстного меню. Во-первых, постройте график x и y значения. Включите окрашивание, а затем отметьте некоторые значения данных.

x = linspace(0,5,30);
y = exp(x);
scatter(x,y)
brush('on')

Scatter plot with a rectangle surrounding some points. The selected points have a red fill instead of no fill.

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

Updated scatter plot. The selected points are gone.

Ограничения

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

uif = uifigure;
ax = axes(uif);
bar(ax,1:10)
b = brush(uif);
b.Color = 'g';
b.Enable = 'on';

Подробнее о

расширить все

Совет

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

Введенный в R2008a