Hi, Does anyone have any more thoughts on this? I am struggling to implement this! Thanks in advance, Matt.
Synchronising data tip location on three plots
29 views (last 30 days)
Show older comments
Hi all,
I have a GUI with three axes plots. When the user uses the data tip on one graph, I want it to appear on the other two, in the same place. When one is moved, I want the others to follow. How could I do this?
I am trying to set the position of a data tip on a graph programatically, but struggling.
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 point move
c_info.Position = [2,2] % set position
How would I set the data cursors position?
Is there a better way to make data tips appear on the other two plots in my GUI, and synchronise their location?
I have found linkprop function but not sure how to use it to be honest.
Thanks,
Matt
Answers (2)
Walter Roberson
on 19 Oct 2016
It is possible to move the cursor... but I have not figured out how to control where it goes.
dcm_obj = datacursormode(fig);
then
here = dcm_obj.CurrentCursor.Position
dcm_obj.CurrentCursor.moveTo([-10,200])
there = dcm_obj.CurrentCursor.Position
I have not figured out how the argument such as [-10,200] relates to where the cursor ends up. It does seem repeatable, but I have not figured out the coordinate system.
2 Comments
Walter Roberson
on 19 Oct 2016
When I used moveTo the destinations did not seem to have all that much relationship to the coordinates passed.
Perhaps you could set their UpdateFcn to move the other cursors with moveTo ?
You might also need to use dcm_obj.updateDataCursors() after
There might be a race condition -- if the moveTo triggers the update function then you don't want the other cursor's update to trigger you again...
See Also
Categories
Find more on Specifying Target for Graphics Output 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!