2

I have contour plots, such as

plot = ContourPlot[Sqrt[(x - 2)^2 + (y - 2)^2 - 5], {x, -15, 15}, {y, -15, 15}, Contours -> {4}] /. _Polygon -> Sequence[]

I have successfully found the numerical area enclosed using Stokes' theorem, essentially the "x dy" case shown here.

points = Transpose[Cases[Normal@plot, Line[pts_] :> pts, Infinity][[1, 
   All]]];  
area = N[Abs[Rest[First[points]].Last[ListCorrelate[{1, -1}, #1] & /@ points]]] 

What I would like to accomplish now is to apply the found area as a Tooltip[] on the contour plot.

However, this isn't working properly:

Tooltip[ContourPlot[Sqrt[(x - 2)^2 + (y - 2)^2 - 5], {x, -15, 15}, {y, -15, 15}, Contours -> {4}] /. _Polygon -> Sequence[],"example"]

enter image description here

"example" comes up as a tooltip anywhere on the whole plot area, not just when the cursor is on the contour line. Also, sometimes it doesn't show "example"; it only shows like "ex" and then is cut off by white space.

How can I implement this properly?

rm -rf
  • 88,781
  • 21
  • 293
  • 472
Steve
  • 1,153
  • 7
  • 17

1 Answers1

1

You can proceed with ReplaceAll:

ContourPlot[Sqrt[(x - 2)^2 + (y - 2)^2 - 5], {x, -15, 15}, {y, -15, 15}, 
   Contours -> {4}
 ] /. _Polygon -> Sequence[] /. Tooltip[x_, y_] :> Tooltip[x, "example"]

enter image description here

In case of many contours you can take control this way:

ContourPlot[Sqrt[(x - 2)^2 + (y - 2)^2 - 5], {x, -15, 15}, {y, -15, 15}, 
            Contours -> {2, 4}
           ] /. _Polygon -> Sequence[] /. Tooltip[x_, 4] :> Tooltip[x, "example"]

so now only the chosen one is switched.

Kuba
  • 136,707
  • 13
  • 279
  • 740
  • Thanks! This solution works I'm nearly certain, but I'm still having a display issue which I fear might be something else. Does anyone know why this tooltip is not showing fully? – Steve Jan 16 '14 at 20:27
  • @Steve I sometimes face this but I don't know the reason. Try maybe Pane["exaple"]. – Kuba Jan 16 '14 at 20:29
  • Strange. Pane didn't fix it for me, but it did add a little extra white space below. Also, I tried "exampleeeeeeeeeeeeeeeeee" and the white box to the right extends. But the yellow background and text don't change, still "ex" and then cut off. – Steve Jan 16 '14 at 20:32
  • @Steve I think it is frequently faced issue. If you fail to find an answer with serach engine I encourage you to post the question. – Kuba Jan 16 '14 at 20:39