Re: AxesLabel parallel to 3D axes?
- To: mathgroup at smc.vnet.net
- Subject: [mg111424] Re: AxesLabel parallel to 3D axes?
- From: Fred Klingener <gigabitbucket at BrockEng.com>
- Date: Sun, 1 Aug 2010 04:55:21 -0400 (EDT)
- References: <i2rm0a$r4c$1@smc.vnet.net>
On Jul 29, 6:43 am, David Reiss <dbre... at gmail.com> wrote:
> If one sets the AxesLabel option for, for example, Plot3D, is there
> any way to set things up so that resulting labels are always parallel
> to their own axes?
>
> ...here is an example, and a customer would like the labels to align
> along/paralle the axes rather than what is shown here....
>
> Plot3D[x y, {x, 0, 1}, {y, 0, 1},
> AxesLabel -> {"This is the x", "This is the y", "This is the z"}]
And here's an even worse way to do it. It puts the styled text into an
Inset, which, amazingly, can be scaled, sheared, rotated and
translated to visually approximate 3D text then the Inset is Epilogged
into a Graphics3D.
Manipulate[
DynamicModule[
{st, rt, tt}
, st = ShearingTransform[
shear
, {1, 0}
, {0, 1}
]; (* ShearingTransform *)
rt = RotationTransform[
rotate
, {0, 0}]; (* RotationTransform *)
tt = TranslationTransform[
{x, y}
]; (* TranslationTransform *)
Graphics3D[{}
, Epilog ->
GeometricTransformation[
Inset[
Style["Hello,world"
, FontFamily -> "Helvetica"
, Bold
, 14
] (* Style *)
, {0, 0}
] (* Inset *)
, tt.rt.st
] (* GeometricTransformation *)
, Axes -> True
, AxesOrigin -> 0
] (* Graphics3D *)
] (* DynamicModule *)
, {{rotate, 0}, -Pi/4,
Pi/4}
, {{shear, 0}, -Pi/4, Pi/4}
, {{x, 0.5}, 0, 1, Appearance -> "Labeled"}
, {{y, 0.5}, 0, 1, Appearance -> "Labeled"}
] (* Manipulate *)
Hth,
Fred Klingener