Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Plotting: how does one reverse the time axis tick mark values?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg127354] Re: Plotting: how does one reverse the time axis tick mark values?
  • From: "djmpark" <djmpark at comcast.net>
  • Date: Thu, 19 Jul 2012 03:53:20 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net
  • References: <28693170.5095.1342589825669.JavaMail.root@m06>

The Presentations Application has a CustomTicks function where the first
argument IS a 'TickMarkLabelFunction'. Also CustomTicks draws both the major
and minor ticks and allows you to control both the style of the ticks and
the style of the labels.

<< Presentations` 

There are two methods. The first method rescales the displayed tick values
of 4 to 0 to go to the underlying plot values of 2 to 6. Then we specify
ticks going from 5 to 0 in steps of -1 with 5 minor tick intervals. I used 5
to 0 so the minor ticks would show below the first plot value.

xticks = CustomTicks[Rescale[#, {4, 0}, {2, 6}] &, {5, 0, -1, 5}];
ListPlot[Transpose[{Range[6], Range[6]}],
 Ticks -> {xticks, Automatic}]

The second method specifies in terms of the underlying plot values, but uses
a number function to rescale the actual display tick values.

xticks = CustomTicks[Identity, {1, 6, 1, 5},
   CTNumberFunction -> (Rescale[#, {4, 0}, {2, 6}] &)];
ListPlot[Transpose[{Range[6], Range[6]}],
 Ticks -> {xticks, Automatic}]


David Park
djmpark at comcast.net 
http://home.comcast.net/~djmpark/index.html 


From: James Stein [mailto:james at stein.org] 


I thought this would be simple, but I am stumped: I wish to display values
(on the y axis) for specific times (on the x-axis).
Conventionally, time on charts progresses from left to right, and this is my
desire. However, I want the ticks along the time axis to be measured in what
one might call "countDown units" or "reverse units", for example "Myr before
Present" or "Seconds before Midnight" or "Centuries B.C.".

As a simple example, consider the result of
     ListPlot [ Transpose [ { Range [ 6 ] , Range [ 6 ] } ] ] which displays
the values 2, 3, 4, 5, 6 along the x axis.
My problem is how to construct this same chart, except with values 4, 3, 2,
1, 0  replacing 2, 3, 4, 5, 6.
The various ways I tried to do this also mirror-reflect the plotted
y-values.
I looked for an option called something akin to 'TickMarkLabelFunction', but
couldn't find one.




  • Prev by Date: Re: Evaluate code fragment without making new cell for it?
  • Next by Date: Re: Plotting: how does one reverse the time axis tick mark values?
  • Previous by thread: Re: Plotting: how does one reverse the time axis tick mark values?
  • Next by thread: Evaluating complicated integral numerically