squeezed[\[Alpha]_, z_, q_, p_] :=
1/Pi Exp[-(1/
2) ((q*Sqrt[2]*Exp[-z] -
2*Re[\[Alpha]]) ^2 + (p*Sqrt[2]*Exp[z] -
2*Im[\[Alpha]])^2)] ;
rq = 5; rp = 3; t = 0.003; FontS = 20;
For[z = 0, z <= 1.0, z += 0.25,
plot = Show[Plot3D[squeezed[0, z, q, p],
{q, -rq, rq}, {p, -rp, rp}, ImageSize -> 800,
Mesh -> {Range[-Floor[rq], Floor[rq] ],
Range[-Floor[rp], Floor[rp] ], Range[-1, 1, 1/4]/Pi},
MeshFunctions -> {#1 &, #2 &, #3 &},
MeshStyle -> {Directive[Black, Thickness[t] ],
Directive[Black, Thickness[t] ],
Directive[White, Thickness[t] ]},
PlotRange -> {-1/Pi, 1/Pi}, PlotPoints -> 81, MaxRecursion -> 4,
Method -> {Refinement -> {ControlValue -> 0.02} },
PerformanceGoal -> "Quality",
PlotStyle -> Opacity[0.85], Lighting -> "Classic",
ColorFunction -> ({RGBColor[1, 1, 0.75], Glow[GrayLevel[0.06] ],
Specularity[0.5, 60]} &),
Axes -> False, Boxed -> False,
ViewPoint ->
FromSphericalCoordinates[{Sqrt[229/20], Pi/3, -0.64 Pi}] ],
Graphics3D[{Thickness -> t, Black,
Line[{ {-rq, rp, 0}, {-rq, -rp, 0}, {rq, -rp, 0} }]}],
Graphics3D[{Thickness -> t, Black,
Line[{ {-rq, rp, -1/Pi}, {-rq, rp, 1/Pi} }]}],
(* q ticks *)
Sequence @@
Table[Graphics3D[{Thickness -> t, Black,
Line[{ {x, -rp, 0}, {x, -0.2 - rp, 0} }]}], {x, -Floor[rq],
Floor[rq]}],
(* p ticks *)
Sequence @@
Table[Graphics3D[{Thickness -> t, Black,
Line[{ {-rq, y, 0}, {-rq - 0.2, y, 0} }]}], {y, -Floor[rp],
Floor[rp - 1/2]}],
(*W ticks *)
Sequence @@
Table[Graphics3D[{Thickness -> t, Black,
Line[{ {-rq, rp, z/(2 Pi)}, {-rq - 0.2, rp,
z/(2 Pi)} }]}], {z, -2, 2}],
(* axes labels *)
Graphics3D[Text[Style["q", FontS, Black], {0, -rp*1.15, -0.07}] ],
Graphics3D[Text[Style["p", FontS, Black], {-rq*1.13, 0, -0.07}] ],
Graphics3D[
Text[Style["W", FontS, Black], {-rq*0.93, rp*0.93, 0.8/Pi}] ],
Sequence @@
Table[Graphics3D[{Text[
Style[TextString[x], FontS,
Black], {x, -rp - 0.09 Max[rq, rp], 0}, {0,
1}]}], {x, -Floor[rq], Floor[rq]}],
Sequence @@
Table[Graphics3D[{Text[
Style[TextString[y], FontS, Black], {-rq - 0.09 Max[rq, rp],
y, 0}, {0, 1}]}], {y, -Floor[rp], Floor[rp - 1/2]}],
Sequence @@
Table[Graphics3D[{Text[
Style[If[z == 0, "0", ToString[z/(2 Pi), TraditionalForm] ],
FontS, Black], {-rq - 0.3, rp, z/2/Pi}, {1, 0}]}], {z, -2,
2}],
BoxRatios -> {Automatic, Automatic, 8}, PlotRange -> All
];
trim = { {0.01, .27}, {.97, .89} };
imgname = "Wignerfunction_squeezed_" <> TextString[z] <> ".png";
Export[imgname,
ImageResize[
ImageTrim[Image[plot, ImageResolution -> 400], trim,
DataRange -> { {0, 1}, {0, 1} }], 2000, Resampling -> "Linear"] ];
]