# Change Plot3D, etc., axes orientation and position?

On paper or a blackboard, mathematicians (as opposed to engineers, physicists, etc.) typically draw 3D plots is with:

1. axes origin is at (0, 0, 0) and axes are drawn emanating from there;
2. the positive y-axis points due east, the positive z-axis points due north, and the positive x-axis pointing southwest (as if pointing forward, out of the paper); and
3. the positive ends of these axes have arrowheads (just plain 2D arrowheads, not conical or similar quasi-3D objects.

In other words, the way that's shown in this image from https://en.wikipedia.org/wiki/Three-dimensional_space#/media/File:Coord_planes_color.svg:

What is the best way to arrange this for Plot3D and the family of related functions (ParametricPlot3D, SphericalPlot3D, etc.)?

I'm aware of using options Boxed -> False, AxesOrigin -> {0,0,0}, Axes -> True, which accomplishes (1). But how best accomplish (2) and (3)?

More specifically:

• For (3), is there some better way than the awkward method of using Show to combine the Plot3D with a Graphics3D consisting of three commands such as Arrow[{{0,0,0}, {1,0,0}}]?
• For (2), is there some better way than effecting a geometric transformation on each geometric object created?
• For (2), you can use ViewPoint (which can be used in Plot3D). Aug 25, 2018 at 15:24
• You should be able to achieve (2) using ViewMatrix - during my quick testing however, I have unfortunately failed to do so... For (3), I think you'll have to draw the arrows yourself. You might want to use ChartingScaledTicks[{Identity, Identity}] to get the tick marks and manually draw them as well. (That might yield a cleaner result) Aug 31, 2018 at 8:27

ViewPoint -> RotationTransform[Pi/2, {0, 0, 1}][{1, -2, 0.85}]

• That does not seem to make the y-axis horizontal on the page, e.g., in Plot3D[x^2 - y^2, {x, -1, 1}, {y, -1, 1}, AxesOrigin -> {0, 0, 0}, Axes -> True, AxesLabel -> (Style[#, Bold, 16] &) /@ {"x", "y", "z"}, AxesStyle -> Thick, Boxed -> False, ViewPoint -> RotationTransform[Pi/2, {0, 0, 1}][{1, -5, 0.85}]]` May 1, 2021 at 14:25