deleteUnwantedEpilogs =
Module[{pos = Position[#, HoldPattern[Epilog -> _], All]},
Delete[#, Apply[Join] @
MapIndexed[((x |-> Join[#, {2}, {x}]) /@
Drop[Range@Length@pos, #2]) &] @ pos]] &;
Examples:
cp = ContourPlot[{Sin[x] + Cos[y], (x)^2 - (y)^2}, {x, -2, 2}, {y, -2, 2},
PlotLegends -> Automatic, PlotLayout -> "Row"
, Epilog -> {
{Thickness[Large], Red, Circle[{0, 0}, 1.5]},
{Thickness[Large], Blue, Circle[{0, 0}, 0.5]}
}
];
deleteUnwantedEpilogs @ cp
deleteUnwantedEpilogs @
ContourPlot[{Sin[x] + Cos[y], (x)^2 - (y)^2, Sin[x y]}, {x, -2, 2}, {y, -2, 2},
PlotLegends -> Automatic, PlotLayout -> "Row",
Epilog -> {{Thickness[Large], Red, Circle[{0, 0}, 1.5]},
{Thickness[Large], Blue, Circle[{0, 0}, 0.5]},
{Thickness[Large], Green, Circle[{0, 0}, 0.25]}}]
Replace Epilog -> ...
with
Epilog ->
{{Thickness[Large], Red, Circle[{0, 0}, 1.5], Purple, Circle[{0, 0}, .75]},
{Thickness[Large], Blue, Circle[{0, 0}, 0.5], Magenta, Rectangle[{.5, .5}]},
{Thickness[Large], Green, Circle[{0, 0}, 0.25], Cyan, Circle[{0, 0}, 1.25]}}
to get