datacursormode

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

Синтаксис

datacursormode on
datacursormode off
datacursormode
datacursormode toggle
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 tip появляется. Всплывающие подсказки являются маленькими текстовыми полями или окнами, которые плавают в оси, которые отображают значения данных в местоположениях 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

Figure

указатель

Указатель фигуры сопоставлен с объектом режима 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 Select text update function, можно в интерактивном режиме выбрать функцию, которая не находится на пути.

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

  • brush

  • datacursormode

  • pan

  • rotate3d

  • zoom

Это ограничение не применяется к изменению фигуры 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-координаты.

Вы изменяете стиль отображения всплывающей подсказки, чтобы быть окном вместо текстового поля с помощью Tools> Options> Display cursor in window или использовать контекстное меню Display Style> Window inside figure, чтобы просмотреть всплывающую подсказку в плавающем окне, которое можно переместить в осях.

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

Этот пример включает режим 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:

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, такой как круговые диаграммы, созданные с pie.

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

  • Когда DisplayStyle свойством объекта режима Data Cursor является 'datatip', можно создать несколько всплывающих подсказок путем содержания Shift, когда вы выбираете точки данных. Когда DisplayStyle 'window', можно создать только одну всплывающую подсказку за один раз.

  • Всплывающие подсказки на графике сохраняются, если вы выключаете режим Data Cursor когда DisplayStyle свойством является 'datatip'. Однако Data Cursor исчезает и завершения окна всплывающей подсказки когда DisplayStyle 'window'.

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

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

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