Получить обратный вызов курсора данных в MATLAB GUI
Как я могу установить обратный вызов курсора данных GUI Matlab для определенных осей GUI? Я смог добавить значок курсора данных в панели инструментов GUI. Я могу выбрать 3D-точку на построенных данных, но мне нужно добавить больше информации в текст курсора данных, а также сделать некоторые другие вещи с координатами, которые он получает.
Я пытался следовать "как добавить дополнительную информацию к курсору данных?", но не работает для GUI.
оси GUI не являются цифрами, поэтому Я получаю эту ошибку:
Error using datacursormode (line 149)
Invalid figure handle
мне нужно то же самое здесь, но для осей GUI (цифры?):
function test_main
% Plots graph and sets up a custom data tip update function
fig = figure('DeleteFcn','doc datacursormode');
X = 0:60;
t = (X)*0.02;
Y = sin(-16*t);
plot(X,Y)
dcm_obj = datacursormode(fig); % tried here "handles.MyFigHandle"
set(dcm_obj,'UpdateFcn',{@myupdatefcn,t})
function txt = myupdatefcn(~,event_obj,t)
% Customizes text of data tips
pos = get(event_obj,'Position');
I = get(event_obj, 'DataIndex');
txt = {['X: ',num2str(pos(1))],...
['Y: ',num2str(pos(2))],...
['I: ',num2str(I)],...
['T: ',num2str(t(I))]};
пока я могу получить только поведение datacursor по умолчанию, как это изображение:

1 ответов
я не нашел никакой разницы между использованием data cursor в GUI и в рисунке.
повторно используя часть вашего кода, я создал GUI, в котором checkbox включение / отключение datacursormode.
графический интерфейс содержит два axes в котором нанесены две линии и 3D-поверхность соответственно.
три radiobuttons управляйте строкой, которая будет напечатана в текстовом поле, созданном при - это.
тэги GUI являются следующие:
- левый
axes:axes_2d - право
axes:axes_3d - левый
pushbutton:pushbutton_2d - право
pushbutton:pushbutton_3d -
checkbox:checkbox_enable_dc - левый
radiobutton:radiobutton1 - средний
radiobutton:radiobutton2 - ря
radiobutton:radiobutton3
GUI работает следующим образом:
- the
pushbuttonsучасток в оси и включитьcheckbox - the
checkboxвключение / отключениеdatacursormode - по умолчанию, слева
radiobuttonвыбирается и устанавливается строка по умолчанию - два других
radiobuttonустановить другую строку
на основе выбранного radiobutton, первая строка строки в текстовом поле будет либо:
- СТРОКА ПО УМОЛЧАНИЮ
- СТРОКА ВАРИАНТ ОДИН
- ПАРАМЕТР СТРОКИ Два
строка, которая будет записана в текстовом поле создается в папке myupdatefcn который был изменен для обработки параметров, выбранных radiobutton.
обратите внимание: чтобы не ограничивать модификацию вашей версии