Reflect a Plot Object

Few examples from the docs on ReflectionTransform used in combination with GeometricTransformation

  gr = Plot[ E^x, {x, -3, 2}]; 
  Row[{Show[gr, Plot[x, {x, -3, 7}, PlotStyle -> Black], 
   gr /. L_Line :> {Red, GeometricTransformation[L, ReflectionTransform[{-1, 1}]]}, 
   PlotRange -> All, ImageSize -> 200], 
   Show[gr, gr /. L_Line :> {Red, GeometricTransformation[L, ReflectionTransform[{-1, 0}]]}, PlotRange -> All, ImageSize -> 200], 
  Show[gr, gr /. L_Line :> {Red, GeometricTransformation[L, ReflectionTransform[{0, -1}]]}, PlotRange -> All, ImageSize -> 200]}, Spacer[15]]

enter image description here

 cow = ExampleData[{"Geometry3D", "Cow"}, "GraphicsComplex"];
 p1 = {0, 0, -0.25161901116371155`};
 p2 = {0, 0, 0.25161901116371155`};
 Row[{Graphics3D[{EdgeForm[None], Opacity[0.5], 
 Lighter[ColorData[1, 1], 0.5], cow, Lighter[ColorData[1, 2], 0.5], 
 GeometricTransformation[cow, #]}, Lighting -> "Neutral", 
 ImageSize -> Small, Boxed -> False] & /@
{ReflectionTransform[{0, 0, 1}, p1], 
 ReflectionTransform[{0, 0, 1}, p2],
 ReflectionTransform[{1, 0, 0}, p1], 
 ReflectionTransform[{1, 1, 0}, p1]}}, Spacer[15]]

enter image description here


How about something like this (example shamelessly stolen from the docs)

f[n_, x_] := 
 Abs[((1/Pi)^(1/4) HermiteH[n, x])/(E^(x^2/2) Sqrt[2^n n!])]^2
lp = Plot[Evaluate@
     Append[Table[f[n, x] + n + 1/2, {n, 0, 7}], x^2/2], {x, 0, 4}, 
  Filling -> Table[n -> n - 1/2, {n, 1, 8}]]

Graphics[FullGraphics[
    lp][[1]] /. {x_Real, 
    y_Real} :> {-x, y}, 
    AspectRatio -> .42*2.380952380952381]

Mathematica graphics

(you said ticks aren't important so I ignored them). This is similar to Sjoerd's suggestion in the comments but for the whole plot.


You can actually use Scale for this by doing something like

MapAt[Scale[#, {-1, 1}] &, Plot[Sin[x], {x, 0, 2 Pi}] , {1}]

Mathematica graphics