# Labeling contours

I want to label several contours in one graph. First, I drew three lines 1 == ii3 + (1 + ss)/2, 0 == ii3 + (1 + ss)/2, and 1 == ii3 + (1 + ss)/2} with ContourPlot and used ContourLabels to add labels:

ContourPlot[{-1 == ii3 + (1 + ss)/2, 0 == ii3 + (1 + ss)/2,
1 == ii3 + (1 + ss)/2}, {ss, -2, 0}, {ii3, -1, 1}, Frame -> False,
Axes -> True, AxesLabel -> {S, "\!$$\*SubscriptBox[\(I$$, $$3$$]\)"},
ContourLabels -> {"Q=-1", "Q=0", "Q=1"}] It does not show labels at all. How can I get the labels of each contours?

I know that I can get a similar figure with:

Plot[{-(1 + ss)/2 - 1, -(1 + ss)/2, 1 - (1 + ss)/2}, {ss, -2, 0},
AxesLabel -> {S, "\!$$\*SubscriptBox[\(I$$, $$3$$]\)"},
PlotLabels -> {"Q=-1", "Q=0", "Q=-1"}] However, there are many curves that can be drawn with ContourPlot but cannot be drawn with Plot. Is there any way to add labels in Contourplot?

• See here, here, and here Sep 18 at 3:56

\$Version

(* "13.3.1 for Mac OS X ARM (64-bit) (July 24, 2023)" *)

Clear["Global*"]

ContourPlot[ii3 + (1 + ss)/2,
{ss, -2, 0}, {ii3, -1, 1},
Contours -> {-1, 0, 1},
AxesLabel -> {S, "\!$$\*SubscriptBox[\(I$$, $$3$$]\)"},
StringForm["\[ThinSpace]=\[ThinSpace]", HoldForm[Q], #3],
` 