# 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[0]]
],
{{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[[1]], 0}, {p[[1]], f[ p[[1]], a]}, {0, f[ p[[1]], a]}}],
Point[{p[[1]], f[ p[[1]], a]}]},
PlotLabel ->
Dynamic@{p[[1]], f[ p[[1]], 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