Mathematica Stack Exchange is a question and answer site for users of Mathematica. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?


share|improve this question
Is Tooltip any use? – cormullion Jan 10 '13 at 7:57
up vote 4 down vote accepted
  tbl = Table[Tooltip[{x, Sin[a x]}], {x, -Pi, Pi, .1}];
  ListLinePlot[tbl, Mesh -> All, MeshStyle -> Opacity[0]]
 {{a, 1, "a?"}, .1, 5, .1}

Mathematica graphics

share|improve this answer
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};
  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}]

Manipulate output

It also takes advantage of Plot's adaptive graphing methods to deal with wiggly graphs.

share|improve this answer
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 at 20:36

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.