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, можно в интерактивном режиме выбрать функцию, которая не находится на пути.

Не переопределяйте коллбэки окна рисунка, такие как ButtonDownFcn, KeyPressFcn или 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, но несколько не делают (pareto, например).

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

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

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

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

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

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

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

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

Для просмотра документации необходимо авторизоваться на сайте