# Display function value on hover?

I have used Manipulate in conjunction with Plot to draw a function's graph and I would like to show the current x-axis value and function value while hovering over the function's plot. How can I achieve this?

Thanks.

• Is Tooltip any use? – cormullion Jan 10 '13 at 7:57

Manipulate[
Module[{tbl},
tbl = Table[Tooltip[{x, Sin[a x]}], {x, -Pi, Pi, .1}];
ListLinePlot[tbl, Mesh -> All, MeshStyle -> Opacity]
],
{{a, 1, "a?"}, .1, 5, .1}
] • Perfect! Thanks. – dabd Jan 10 '13 at 11:10
• Nice, straightforward coding and a result where the coordinates appear only when the cursor is on the curve. Only limitation is the granularity of the Tooltip iterator. – murray Jan 10 '13 at 18:55
• @dabd It would be considered gracious if you were to accept Nasser's solution (click the checkmark), since you consider it a good solution for you. – Michael E2 Jan 10 '13 at 19:49

Alternative that avoids the flicker of Tooltip (copying & adapting @Nasser):

f[x_, a_] := Sin[a x^3];
p = {0, 0};
Manipulate[
EventHandler[
Plot[f[x, a], {x, -Pi, Pi},
Prolog -> Dynamic@{Thin,
Line[{{p[], 0}, {p[], f[ p[], a]}, {0, f[ p[], a]}}],
Point[{p[], f[ p[], a]}]},
PlotLabel ->
Dynamic@{p[], f[ p[], a]}],
{"MouseMoved" :> (p = If[# =!= None, #, p] &@MousePosition["Graphics"])}],
{{a, 1, "a?"}, .1, 5, .1}] It also takes advantage of Plot's adaptive graphing methods to deal with wiggly graphs.

• Thanks, it looks interesting but I can't understand that code yet. – dabd Jan 10 '13 at 17:53
• +1 for showing the lines of projection onto the axes. But I don't like that you get a pair of coordinates even when the cursor isn't on the curve. – murray Jan 10 '13 at 18:54
• @murray Thanks. If asked, I could post a version in which the coordinates and projection lines disappear. It's more complicated - perhaps I don't know the best way - and the OP seems to like Nasser's straightforward solution. – Michael E2 Jan 10 '13 at 20:25
• Yep, that's a dupe. I won't answer in that latest topic so feel free to include my comment into your answer there. ps. there is a nice syntax to keep last used coordinates after mouse exits: p = MousePosition["Graphics", p]. – Kuba Jul 14 '16 at 20:36