Generate separate `ContourPlot` for each `m` with contour `0` and change the tooltip label to `m` and combine all with `Show`: Show @ Table[ContourPlot[Evaluate[(x^2 + y^2)^2 - m (x^2 - y^2)], {x, -2, 2}, {y, -2, 2}, ContourStyle -> Directive[Thick, ColorData[63][m]], ContourShading -> {Opacity[.2, ColorData[63][m]], White}, Contours -> {{0}}] /. Tooltip[a_, _] :> Tooltip[a, m], {m, 0, 4}] [![enter image description here][1]][1] Generate the plots in the opposite order to get opaque colors without blending: colors = {Cyan, Red, Blue, Orange, Green}; Show @ Table[ContourPlot[(x^2 + y^2)^2 - m (x^2 - y^2) , {x, -2, 2}, {y, -2, 2}, ContourStyle -> Directive[Thick, Darker@Darker@colors[[m + 1]]], ContourShading -> {Opacity[1, colors[[m + 1]]], None}, Contours -> {{0}}] /. Tooltip[a_, _] :> Tooltip[a, m], {m, 4, 0, -1}] [![enter image description here][2]][2] [1]: https://i.sstatic.net/M1LpL.png [2]: https://i.sstatic.net/pPFEx.png