Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

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.

share|improve this question
2  
Is Tooltip any use? –  cormullion Jan 10 '13 at 7:57
add comment

2 Answers 2

up vote 4 down vote accepted
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}
 ]

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
add comment

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}]

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
add comment

Your Answer

 
discard

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.