I need to visualize a few planes/slices of a 3D vector field. The first plot with only one slice is fine. Now I want to plot three slices of vectors together. And I need to separate the three planes with enough empty space in order to put something else in between. To this end, I use BoxRatios -> {1, 1, 4} below. But it strongly distorts the vectors.
Is there any way to keep a 'normal' looking of the vectors? If any wildly different method, e.g., without using BoxRatios, it's surely as well welcome.
d = {-y, x, 0}; dp0 = 0.1; dp = -{0, 0, 0.06}; vec = 2 (dp0 z - d . dp) d + (z^2 - dp0^2 + dp . dp - d . d) (-dp); vec = vec/Norm[vec]; xymax = 0.5; zlst = 0.16 {1, 0, -1}; dz = 0.05; SliceVectorPlot3D[vec, z == zlst[[1]], {x, -xymax, xymax}, {y, -xymax, xymax}, {z, zlst[[1]] + 3 dz, zlst[[1]] - 3 dz}, VectorColorFunction -> {"Rainbow", #6 &}, PlotStyle -> LightGray, BoxRatios -> Automatic, ImageSize -> Medium] SliceVectorPlot3D[vec, Table[z == zlst[[i]], {i, 3}], {x, -xymax, xymax}, {y, -xymax, xymax}, {z, zlst[[1]] + dz, zlst[[3]] - dz}, VectorColorFunction -> {"Rainbow", #6 &}, PlotStyle -> LightGray, BoxRatios -> {1, 1, 4}, ImageSize -> Large] 


BoxRatios -> {1, 1, 4}, it gives this. Isn't this what you want ? $\endgroup$