You can use ScalingTransform on the graphics primitives:
ClearAll[resize]
resize[sc_] := MapAt[GeometricTransformation[#, ScalingTransform[sc]] &, #, {1}] &;
Examples:
cp = ContourPlot[x^2/3 + y^2/9 == 1, {x, -10, 10}, {y, -10, 10},
PlotPoints -> 100, MaxRecursion -> 1, ImageSize -> 300];
Row[{cp, resize[{3, 3}] @ cp}]

pp = PolarPlot[Sin[3 t], {t, 0, Pi}, Frame -> True, FrameTicks -> All,
PlotRange -> {{-5, 5}, {-5, 5}}, ImageSize -> 300];
Row[{pp, resize[{3, 3}] @ pp}]

For a Graph
object gr
, you need first wrap gr
with Show
to get a Graphics
object before using resize
on it:
gr = Graph[{1 -> 2, 2 -> 3, 3 -> 1}, Frame -> True, FrameTicks -> All,
PlotRange -> {{-5, 5}, {-5, 5}}, ImageSize -> 300];
Row[{gr, resize[{3, 3}] @ Show @ gr}]

For 3D plots use a list with three numbers, one for each dimension, as the scaling parameter:
cp3d = ContourPlot3D[Cos[x] + Cos[y] + Cos[z] == 0, {x, -π, π}, {y, -π, π}, {z, -π, π},
PlotRange -> {{-4 π, 4 π}, {-4 π, 4 π}, {-4 π, 4 π}}, Mesh -> None, ImageSize -> 300];
Row[{cp3d, resize[{2, 3, 3}] @ cp3d}]
