Re: help - how to invert the x or y axis..
- To: mathgroup at smc.vnet.net
- Subject: [mg17373] Re: help - how to invert the x or y axis..
- From: colin at tri.org.au (Colin Rose)
- Date: Thu, 6 May 1999 02:44:02 -0400
- Organization: Theoretical Research Institute
- References: <7gfrhg$6dt@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Jao Wei-Chun <jao at chara.gsu.edu> wrote:
> Does anyone know how to invert the x or y axis?
> I want the y-axis to increase downward, instead of upward.
I haven't heard of Mongo. Nevertheless, we can make our own funny Plot fn
in Mathematica.
The basic idea is to generate a standard Plot, and then impose the replacement:
{x_,y_} -> {x, GAP-y}
where GAP is some arbitrary value on the y-axis.
The tricky bit is getting the Tick marks right. Here we go ...
_____
FunnyPlot[pp_Graphics, opts___Rule] := Module[{sol1, sol2, lis, GAP, qq, x, y},
{sol1, sol2} = AbsoluteOptions[pp,Ticks][[2]];
lis = Select[Flatten[Cases[sol2,
{x1_,x2_,{x3_,x4_},{GrayLevel[0.],AbsoluteThickness[0.25]}}]],
NumericQ];
GAP = Max[lis]-Min[lis];
qq[x_]:=If[FractionalPart[x]===0., IntegerPart[x], x];
Show[pp/.{x_,y_} -> {x,GAP-y}, Evaluate[opts],
AxesOrigin -> AbsoluteOptions[pp, AxesOrigin][[2]] /. {x_, y_} -> {x,
GAP-y},
Ticks -> MapAll[qq,{sol1, Map[{GAP-First[#], Sequence@@Rest[#]}&, sol2]}]]]
Examples
________
pp = Plot[x^3, {x, -3, 2}, PlotRange -> All];
FunnyPlot[pp];
pp = Plot[x^3, {x, 1, 2}, PlotRange -> All];
FunnyPlot[pp];
pp = Plot[Sin[x], {x, -\[Pi], \[Pi]}];
FunnyPlot[pp, PlotLabel -> "Peekaboo"];
It seems to work rather nicely, even though it is a bit of a hack :)
Cheers
Colin
--
Colin Rose
tr(I) - Theoretical Research Institute
__________________________________________
colin at tri.org.au http://www.tri.org.au/