Re: How show axes labels with AxesOrigin->{0,0,0} in 3D?

*To*: mathgroup at smc.vnet.net*Subject*: [mg119552] Re: How show axes labels with AxesOrigin->{0,0,0} in 3D?*From*: Peter Breitfeld <phbrf at t-online.de>*Date*: Thu, 9 Jun 2011 05:45:16 -0400 (EDT)*References*: <isnllk$n7b$1@smc.vnet.net>

Murray Eisenberg wrote: > Aha! Thanks for spotting that the 3D axes labels are really there. But > they're hardly in an optimal position. > > In 2D, the axes labels are at the ends of the axes. So you'd think, for > the sake of Mathematica's much-vaunted consistency, that the same would > be the case in 3D. > > The example does not really make a reasonable argument against using > axes in 3D that emanate from the origin. Rather, it makes a convincing > argument that WRI made a dumb design decision when they implemented > AxesOrigin for 3D. > > On 6/7/2011 6:46 AM, Robert Rosenbaum wrote: I followed this thread and my opinion is, that at least in education area axes trough the origin are often used. So I ended with the following function, which places labels at the end of the axes and plot any Graphics3D with axes: NoOpt[x__]:=And@@(Not[OptionQ[#]]&)/@{x} SyntaxInformation[AchsenStattPlot]= {"ArgumentsPattern"->{_,_.,_.,_.,_.,OptionsPattern[]}}; AchsenStattBox[g_Graphics3D, achsenOrigin_: {0, 0, 0}, labFakt :(_Real | _Integer | _List) : 1.2, labColor_: Red, labSize_: 16, opts:OptionsPattern[]]/;NoOpt[achsenOrigin,labFakt,labColor,labSize]:= Module[{labels, o = achsenOrigin, xmax, ymax, zmax, lx, ly, lz}, If[Head[labFakt] === List, {lx, ly, lz} = labFakt, {lx, ly, lz} = ConstantArray[labFakt, 3]]; {xmax, ymax, zmax} = #[[2]] & /@ AbsoluteOptions[g, PlotRange][[1, 2]]; labels = { Text[Style["x", labSize, labColor], {xmax lx, o[[2]], o[[3]]}], Text[Style["y", labSize, labColor], {o[[1]], ymax ly, o[[3]]}], Text[Style["z", labSize, labColor], {o[[1]], o[[2]], zmax lz}]}; Show[{g, Graphics3D[{labels}]}, AxesLabel->None, Boxed -> False, AxesOrigin -> o,Evaluate[opts]] ] -- _________________________________________________________________ Peter Breitfeld, Bad Saulgau, Germany -- http://www.pBreitfeld.de

**Follow-Ups**:**Re: Is there ToNumber?***From:*DrMajorBob <btreat1@austin.rr.com>

**Re: Is there ToNumber?***From:*SigmundV <sigmundv@gmail.com>

**Re: Is there ToNumber?***From:*ADL <alberto.dilullo@tiscali.it>

**Is there ToNumber?***From:*Ted Sariyski <tsariysk@craft-tech.com>