I would like to have the following 3DPlot to Rotate around a vertical axis defined within the 3DPlot itself: in particular, I would like the box not to change size during the rotation. I was trying with Graphics3D but then I encountered issues to keep PlotLegends. I'm having issues to combine Show, Plot3D Rotateand Graphics3D to get my goal. Finally, I would like this rotation to occur dynamically with a controller and have as an output an animated .gif or .avi. Of course the Legend shouldn't rotate. Some hints were given here:
How to rotate around z-axis a simple 3DPlot?
but in that case I am rotating the 3DPlot and not the whole Graphics3D.
vectorbeta =
Sort[{0.001, 0.003, 0.01, 0.03, 0.1, 1, 10, 100, 1000}];
Edistr = Table[
1/(i) Abs[(1 - (1 - I)/2 Sqrt[i/2] Cosh[(1 - I) Sqrt[i/2] z]/
Sinh[(1 - I)/2 Sqrt[i/2]]) dW[x]/dW1]^2, {i, vectorbeta}];
Show[Flatten[{Table[
Plot3D[Edistr[[i]], {x, -1, 1}, {z, -1/2, 1/2}, PlotRange -> All,
PlotStyle -> ColorData[97][i],
PlotLegends -> {Row[{"beta=",
ToString[
If[Element[vectorbeta[[i]], Integers] == True,
Rationalize[vectorbeta[[i]]], N[vectorbeta[[i]], 3]] If[
vectorbeta[[i]] == 37, "(max dissipation)",
Unevaluated[Sequence[]]]]}]}], {i, 1, Length[Edistr]}]}],
ImageSize -> Large,
AxesLabel -> {"x","z"},
PlotLabel ->
"Normalized distribution of rate of energy dissipation W in the on-
axis case",
AspectRatio -> 1/2]
