# How do I reverse the axis in ParametricPlot?

In astronomy, right ascension is usually plotted with positive values that increase from right to left. I have seen discussions of successful and unsuccessful attempts to reverse the order of an axis in Mathematica, but I haven't seen anything that applies specifically to the `ParametricPlot[]` function, and perhaps I am not good enough at Mathematica to see how the other solutions using `ScalingFunctions` or `Transpose` might be applied here. I tried a few to no avail.

Plot 2 uses the default frame ticks, showing reversal of plotting order by reversing the signs of the $x$-coordinates of the plot objects. In the `Ticks` option, their specs seem to be ordered `{{left, right}, {bottom, top}}` with respect to the frame sides. I believe that replacing one of these terms, say left, with something like `{-1, 1}` would replace `-1` with `1` on the left side. But when I attempted to change the names of the ticks on the $x$-axis in plot 2 to positive numbers, the ticks and their names both disappeared, as in plot 3. I could replace the missing ticks with a cumbersome `Epilog` list, but I would prefer something more elegant. It strikes me as odd that the mathematicians who created Mathematica would arbitrarily limit their orientation, so there must be a native way of reversing order, no? The following three scripts produce these three plots in a row:

````Clear["Global`*"]

spiral[a_, t_, x_, y_] := {a*t*Cos[t] + x, a*t*Sin[t] + y} // N;

fs = 8; (* font size *)
objects = 5;
fl = {X, Rotate[Y, -Pi/2]}; (* frame label *)

unreversed = 
 ParametricPlot[
  spiral[.002*#^(5/3), t, #, #] & /@ Range[objects], {t, 0, 10*Pi},
   PlotRange -> {{0, objects + 1}, {0, objects + 1}}, 
   PlotLabel -> Style["1. x axis not reversed", FontSize -> fs], 
   Frame -> True, FrameLabel -> fl, GridLines -> Automatic];

reversed1 = 
  ParametricPlot[
   spiral[.002*#^(5/3), t, -#, #] & /@ Range[objects], {t, 0, 
    10*Pi}, PlotRange -> {{-objects - 1, 0}, {0, objects + 1}}, 
   PlotLabel -> Style["2. x axis reversed", FontSize -> fs], 
   Frame -> True, FrameLabel -> fl, GridLines -> Automatic];

ticks = {{Automatic, None}, {{-#, #}, None}} & /@ 
   Reverse[Range[objects]];

reversed2 = 
  ParametricPlot[
   spiral[.002*#^(5/3), t, -#, #] & /@ Range[objects], {t, 0, 
    10*Pi}, PlotRange -> {{-objects - 1, 0}, {0, objects + 1}}, 
   PlotLabel -> 
    Style["3. x axis reversed\nticks lost", FontSize -> fs], 
   Frame -> True, FrameLabel -> fl, GridLines -> Automatic, 
   FrameTicks -> ticks (* causes ticks to disappear *)];

GraphicsRow[{unreversed, reversed1, reversed2}]
````
-

I notice in your examples that you are not reversing the spirals themselves.  Is this deliberate? – Mr.Wizard♦ Oct 18 '12 at 12:20
@Mr.Wizard The orientation of the spirals was not a concern, but it could become meaningful in the future. – Gary Palmer Oct 18 '12 at 16:06

## 1 Answer

I cannot recall a built-in method to reverse an axis, at least for ParametricPlot, but maybe the right FrameTicks syntax will help:

````ticks = {{{-6, 6}, {-5, 5}, {-4, 4}, {-3, 3}, {-2, 2}, {-1, 1}, {0, 0}}, {{0, 
   0}, {1, 1}, {2, 2}, {3, 3}, {4, 4}, {5, 5}, {6, 6}}, {}, {}};

ParametricPlot[
 spiral[.002*#^(5/3), t, -#, #] & /@ Range[objects], {t, 0, 10*\[Pi]},
  PlotRange -> {{-objects - 1, 0}, {0, objects + 1}}, 
 PlotLabel -> Style["3. x axis reversed\nticks lost", FontSize -> fs],
  Frame -> True, FrameLabel -> fl, GridLines -> Automatic, 
 FrameTicks -> ticks]
````

It's possible that this version-8 function may work with ParametricPlot, though I can't test that, and `ParametricPlot` doesn't appear to be supported: ScalingFunctions

-

This is my accepted answer. I see that I had the syntax all wrong. Why is it that the following doesn't work? It produces an output that looks equivalent to the above "ticks". xTicks = {-#, #} & /@ Reverse[Range[6]]  yTicks = {#, #} & /@ Range[6]  ticks = {{xTicks, yTicks}, {}, {}} – Gary Palmer Oct 18 '12 at 16:37
Wizard  Never mind, I see it. It should be ticks = {xTicks, yTicks, {}, {}}. Thanks much. – Gary Palmer Oct 18 '12 at 16:52
lang-mma
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 2, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "plain"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9456803798675537, "perplexity_flag": "middle"}