How to move data tip in R2025b? (Or, how to restore legacy data tip behavior)

102 Ansichten (letzte 30 Tage)
In previous versions of matlab, an existing data tip would move to a new point whenever I clicked on a new point in a graph or image, and I could also use the arrows on the keyboard to move the data tip one pixel at a time. In R2025b I get a new data tip each time I click somewhere in a plot, and there does not seem to be any way to move the data tips to a different point. How can I make the data tips behave like they did before? I never want to have hundreds of data tips in a plot, so holding shift while clicking in order to create a second data tip is not a problem.

Akzeptierte Antwort

Matt J
Matt J am 17 Nov. 2025 um 16:42
Bearbeitet: Matt J am 17 Nov. 2025 um 16:42
Another option is to supply your own datatip, with an UpdateFcn defined by you:
function datatipDemo()
% Minimal example that restores "single movable data tip" behavior
% in MATLAB R2025b by simply assigning a custom UpdateFcn.
% Make a demo image
I = peaks(200);
imagesc(I); axis image; colormap parula
title('Click anywhere; arrow keys move the data tip')
% --- KEY: Use datacursormode and set a custom UpdateFcn ---
hdt = datacursormode(gcf);
hdt.UpdateFcn = @myUpdateFcn;
datacursormode on;
end
function out = myUpdateFcn(~, evt)
% Very simple update function. No indexing, overlays, etc.
pos = evt.Position;
val = evt.Target.CData(round(pos(2)), round(pos(1)));
out = {
sprintf('x = %d', round(pos(1)))
sprintf('y = %d', round(pos(2)))
sprintf('value = %.3f', val)
};
end
  4 Kommentare
Rik
Rik vor etwa 15 Stunden
Verschoben: Matt J vor etwa 15 Stunden
You can edit startup.m to change the figure creation function to do this every time a new figure is created.
Matt J
Matt J vor etwa 15 Stunden
@Rik No, unfortunately the figure creation function will not work because it gets run before the axes is created, meaning that all the datacursor settings get overwritten later once the axes is created. You must use the defaultAxesCreateFcn instead.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Matt J
Matt J am 17 Nov. 2025 um 14:18
You can activate the old-style figure toolbar exploration buttons, e.g.,
addToolbarExplorationButtons(gcf)
That seems to have the old datacursor behavior.
  8 Kommentare
Kristin Kaspersen
Kristin Kaspersen am 19 Nov. 2025 um 10:34
It does this for other people as well, but you're less likely to experience it if you have a wide screen instead of a dual monitor setup with smaller screens. If you have a wide screen, you may be able to open 30-40 windows before the bug occurs, whereas for me it happens when I get to somewhere around 15-20 open windows. (Here's just one of several examples of other people with the same experience as me: https://learn.microsoft.com/en-us/answers/questions/1481864/windows-11-taskbar-width)
Matt J
Matt J am 19 Nov. 2025 um 15:14
OK, I think I managed to reprdouce it. In any case, did you try my other answer? It restores the old datatip behavior entirely.

Melden Sie sich an, um zu kommentieren.


Catalytic
Catalytic am 17 Nov. 2025 um 17:58
there does not seem to be any way to move the data tips to a different point
Hold the shift key down while you press the arrow keys.
  5 Kommentare
Matt J
Matt J vor etwa 12 Stunden
In previous versions of Matlab, you could move the data tip to a different curve by clicking,
By clicking perhaps, but with the arrow keys?
Catalytic
Catalytic vor etwa 11 Stunden
Also possibly useful -- I find in R2025b that when you hold down the shift key, any data tip you place will self-delete once the mouse button is released. This works both in images and line plots.
It doesn't give you the exact same experience as before, but it does provide a way to probe multiple points without the plot getting cluttered with data tips, and without the extra key strokes needed to explicitly delete data tips.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Entering Commands finden Sie in Help Center und File Exchange

Produkte


Version

R2025b

Community Treasure Hunt

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

Start Hunting!

Translated by