How to add additional info to the data cursor?

29 views (last 30 days)
Hello
I'm wondering how I can get extra info (which is not plotted itself) to show on the data cursor of a plot.
Say I have multiple events, and three variables per event (nicely stashed in arrays), e.g. the time of the event, the position and some measured value. Say now that I plot this measured value against the position. Is there some way to also have the time of the event displayed in the data cursor per event?
Thanks in advance.
Lukas
(sorry for the self-bumping)

Accepted Answer

ChristianW
ChristianW on 22 Mar 2013
Edited: ChristianW on 26 Mar 2013
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);
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))]};
  7 Comments
Julia Jose
Julia Jose on 18 Feb 2020
lifesaver! Works perfectly, thank you!
akhila
akhila on 20 Sep 2023
what is event object and obj ? is it a data we load?

Sign in to comment.

More Answers (1)

Iann Caio
Iann Caio on 10 Feb 2022
Hello .. Good night. Is there any method, where I click on a certain point in the figure, and I want to extract the data from the cursor, and add it to a new program in PROMPT?

Categories

Find more on Tables in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!