I would like to scale one of the axes in a Parametric3DPlot
. I tried adapting the recipe given in this answer to this case, but, as shown below, this attempt failed:
GraphicsRow[
Table[ParametricPlot3D[{Cos[u], Sin[u] + Cos[v], Sin[v]}, {u, 0, 2 π}, {v, -π, π},
ScalingFunctions -> {Identity, scale, Identity},
BoxRatios -> Automatic,
PlotRange -> All], {scale, {{2 # &, #/2 &}, Identity, {#/2 &, 2 # &}}}]]
Specifically, the aspect ratios are as they should be, but the numbers along the scaled y-axis are wrong. They should be the same for all three plots.
In fact, the results above are essentially the same as one would get with this:
GraphicsRow[
Table[ParametricPlot3D[{Cos[u], scale (Sin[u] + Cos[v]), Sin[v]},
{u, 0, 2 π}, {v, -π, π},
BoxRatios -> Automatic, PlotRange -> All],
{scale, {2, 1, 1/2}}]]
...and this is decidedly not what I'm trying to do. I just want to stretch or shrink the y-axis by a specified scaling factor, but retaining all the tick marks along the axis, and keeping the numbers along the axis unchanged (only their relative spacing should change).
(Granted, there's no reason to expect ScalingFunctions
to work here, since the documentation does not cover the way I'm using it.)
Is there some other way to scale the y-axis?
PlotRange
. $\endgroup$AspectRatio
$\endgroup$BoxRatios
. $\endgroup$