datacursormode

Включите, отключите и управляйте интерактивным режимом Data Cursor

Синтаксис

datacursormode на
datacursormode прочь
datacursormode
переключатель datacursormode
datacursormode (figure_handle)
dcm_obj = datacursormode (figure_handle)

Описание

datacursormode on включает режим Data Cursor на текущей фигуре.

datacursormode off отключает режим Data Cursor на текущей фигуре. При запуске в R2018b некоторые взаимодействия Data Cursor включены по умолчанию, независимо от режима. Если вы хотите отключить эти взаимодействия по умолчанию, то используйте функцию disableDefaultInteractivity.

datacursormode или datacursormode toggle переключают режим Data Cursor в текущей фигуре.

datacursormode(figure_handle) включает или отключает режим Data Cursor на заданной фигуре.

dcm_obj = datacursormode(figure_handle) возвращает объект режима Data Cursor для фигуры. Объект позволяет вам настроить Data Cursor. Для получения дополнительной информации об объектах режима Data Cursor см. Выходные аргументы. Вы не можете изменить состояние режима Data Cursor в вызове datacursormode, который возвращает объект режима.

Data Cursor является небольшим черным квадратом с белой границей что вы в интерактивном режиме позиция по графику в режиме Data Cursor. Когда вы кликаете по графическому объекту, такому как строка на графике, совет данных появляется. Советы данных являются маленькими текстовыми полями или окнами, которые плавают в оси, которые отображают значения данных в местоположениях Data Cursor. Стиль по умолчанию является текстовым полем. Советы данных перечисляют x-, y-и (где это необходимо) z-значения для одной точки данных за один раз. Смотрите Примеры для иллюстрации этих двух стилей.

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

figure_handle

Дополнительный указатель окна фигуры

Значение по умолчанию: текущая фигура

state

'', 'toggle', 'on' или 'off'

Значение по умолчанию: 'toggle'

Выходные аргументы

dcm_obj

Используйте объект, возвращенный datacursormode, чтобы управлять аспектами поведения Data Cursor. Можно использовать set и команды get, чтобы установить и запросить значения свойства объекта. Можно настроить, как режим Data Cursor представляет информацию путем кодирования функций обратного вызова для этих объектов.

Аргументы в виде пар имя-значение

Следующие параметры применяются к объектам, возвращенным вызовами datacursormode, не самой функции.

DisplayStyle

datatip | window

Определяет, как Data Cursor отображается.

  • datatip отображает информацию о Data Cursor в маленьком желтом текстовом поле, присоединенном к черному квадратному маркеру в точке данных, которую вы в интерактивном режиме выбираете.

  • window отображает информацию о Data Cursor для точки данных, которую вы в интерактивном режиме выбираете в плавающем окне в фигуре.

Значение по умолчанию: datatip

Enable

on | off

Задает, включается ли режим Data Cursor в настоящее время для фигуры.

Значение по умолчанию: 'off'

Фигура

указатель

Указатель фигуры сопоставлен с объектом режима Data Cursor.

Interpreter

none | tex | latex

Задает интерпретацию текстовых символов. Используйте синтаксис TeX, чтобы добавить верхние индексы и индексы, изменить тип шрифта и окрасить и включать специальные символы в текст. Для получения дополнительной информации смотрите Interpreter.

Значение по умолчанию: tex

SnapToDataVertex

on | off

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

Значение по умолчанию: on

UpdateFcn

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

Ссылка на функцию, которая форматирует текст, появляющийся в Data Cursor. Можно предоставить собственную функцию, чтобы настроить отображение совета данных. Ваша функция должна включать по крайней мере два аргумента. Первый аргумент не использован, и может быть именем переменной или тильдой (~). Второй аргумент передает объект-событие Data Cursor вашей функции обновления. Объект-событие инкапсулирует состояние Data Cursor. Следующее функциональное определение иллюстрирует функцию обновления:

function output_txt = myfunction(~,event_obj)
% ~            Currently not used (empty)
% event_obj    Object containing event data structure
% output_txt   Data cursor text

event_obj является объектом, который имеет следующие свойства.

Target

Указатель объекта, на который ссылается Data Cursor (объект, который вы кликаете, например, по строке или панели от ряда),

Position

Массив, задающий x, yz для 3-D графиков) координаты курсора

Можно запросить эти свойства в функции. Например,

pos = get(event_obj,'Position');

возвращает координаты курсора. Другой способ получить доступ к этому данные состоит в том, чтобы получить struct и запросить его поле Position:

eventdata = get(event_obj);
pos = eventdata.Position;
Можно также получить положение непосредственно из объекта:
pos = event_obj.Position;

Можно переопределить Data Cursor Updatefcn во время выполнения. Например:

set(dcm_obj,'UpdateFcn',@myupdatefcn)
применяет функциональный myupdatefcn к текущему совету данных или советам. Когда вы устанавливаете функцию обновления таким образом, функция должна быть на пути MATLAB®. Если вместо этого вы выбираете текстовую функцию обновления Выбора элемента контекстного меню режима Data Cursor, можно в интерактивном режиме выбрать функцию, которая не находится на пути.

Не переопределяйте обратные вызовы окна фигуры, такие как ButtonDownFcn, KeyPressFcn или CloseRequestFcn в то время как в режиме Data Cursor. При попытке изменить какие-либо обратные вызовы фигуры, когда вы находитесь в интерактивном режиме, вы получаете предупреждение и сбои попытки. Интерактивные режимы MATLAB:

  • кисть

  • datacursormode

  • панорамирование

  • rotate3d

  • изменение масштаба

Это ограничение не применяется к изменению фигуры обратный вызов WindowButtonMotionFcn или обратные вызовы uicontrol.

Запрос режима Data Cursor

Используйте функцию getCursorInfo, чтобы запросить объект режима Data Cursor (dcm_obj в синтаксисе функций обновления), чтобы получить информацию о Data Cursor. Например,

info_struct = getCursorInfo(dcm_obj);

возвращает вектор структур, один для каждого Data Cursor на графике. Каждая структура имеет следующие поля.

Target

Указатель графического объекта, содержащего точку данных

Position

Массив, задающий x, y, (и z) координаты курсора

Строка и объекты lineseries имеют дополнительное поле.

DataIndex

Скалярный индекс в массивы данных, которые соответствуют самой близкой точке данных. Значение является тем же самым для каждого массива.

Дополнительную информацию см. в Выходных аргументах на объектах режима Data Cursor.

Примеры

Этот пример создает график и включает режим Data Cursor из командной строки.

surf(peaks)
datacursormode on
% Click mouse on surface to display data cursor

Выбор точки на поверхности открывает совет данных, отображающий его x-, y-, и z-координаты.

Вы изменяетесь, данные снабжают подсказкой стиль отображения, чтобы быть окном вместо текстового поля с помощью Инструментов> Опции> курсор Отображения в окне или использовать контекстное меню Display Style> Window внутренняя фигура, чтобы просмотреть совет данных в плавающем окне, что можно переместиться в осях.

Можно расположить несколько советов данных текстового поля на тот же график, стиль окна совета данных отображает только одно значение за один раз.

Этот пример включает режим Data Cursor на текущей фигуре и устанавливает опции режима Data Cursor. Следующие операторы

  • Создайте график

  • Переключите режим Data Cursor к на

  • Получите объект режима Data Cursor, укажите, что данные снабжают подсказкой опции и получают указатель строки, которую занимает совет данных:

    fig = figure;
    z = peaks;
    plot(z(:,30:35))
    dcm_obj = datacursormode(fig);
    set(dcm_obj,'DisplayStyle','datatip',...
        'SnapToDataVertex','off','Enable','on')
    
    disp('Click line to display a data tip, then press Return.')
    % Wait while the user does this.
    pause 
    
    c_info = getCursorInfo(dcm_obj);
    % Make selected line wider
    set(c_info.Target,'LineWidth',2) 

Этот пример показывает вам, как настроить текст, который отображает Data Cursor. Например, можно заменить текст, отображенный в совете данных и окне данных (x: и y:) с Time: и Amplitude: путем создания простой функции обновления.

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

Сохраните этот код как doc_datacursormode.m m:

function doc_datacursormode
% Plots graph and sets up a custom data tip update function
fig = figure;
a = -16; t = 0:60;
plot(t,sin(a*t))
dcm_obj = datacursormode(fig);
set(dcm_obj,'UpdateFcn',@myupdatefcn)

Сохраните следующий код как myupdatefcn.m на пути MATLAB:

function txt = myupdatefcn(empt,event_obj)
% Customizes text of data tips

pos = get(event_obj,'Position');
txt = {['Time: ',num2str(pos(1))],...
	      ['Amplitude: ',num2str(pos(2))]};

Чтобы настроить и использовать функцию обновления, введите:

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

Советы

  • Большинство типов графиков и 3-D графиков поддерживает режим Data Cursor, но несколько не делают (pareto, например).

  • Графики в полярной системе координат поддерживают советы данных, но отображают Декартовы а не полярные координаты на них.

  • Гистограммы создали с отображением histogram специализированные советы данных, которые перечисляют количества наблюдения и края интервала.

  • Вы помещаете советы данных только путем нажатия на объекты данных на графиках. Вы не можете разместить их программно (путем выполнения кода, чтобы расположить Data Cursor).

  • Когда DisplayStyle является datatip, можно поместить несколько советов данных в график. Когда DisplayStyle является window, он сообщает только о новом совете данных.

  • datacursormode off выходит из режима Data Cursor, но не удаляет отображенные советы данных. Однако, если DisplayStyle является window, окно совета данных уходит.

Альтернативы

Используйте кнопку Data Cursor на панели инструментов на метку x, y и z значения на графиках и поверхностях. Можно управлять, как советы данных отображаются путем щелчка правой кнопкой и выбора элементов из контекстного меню.

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

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