MathGroup Archive 2001

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

Search the Archive

Re: Re: plot time vs date

  • To: mathgroup at smc.vnet.net
  • Subject: [mg26539] Re: [mg26490] Re: [mg26461] plot time vs date
  • From: Maarten.vanderBurgt at icos.be
  • Date: Wed, 3 Jan 2001 04:08:53 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

Hallo,
 
Is there a way I can rotate the tick marks labels on the x-axis over 90
degrees?
 
thanks
 
Maarten
Leuven, Belgium

BobHanlon at aol.com on 28-12-2000 08:52:28 AM


Subject: [mg26539]  [mg26490] Re: [mg26461] plot time vs date





Use seconds for both axes and label the Ticks in the format that you want.

toStringPair[x_Integer?NonNegative] :=
    ToString[PaddedForm[x, 2, NumberPadding -> {"0", "0"},
        NumberSigns -> {"", ""}]];

secPerDay = 24 * 60 * 60;

months = {
      "Jan", "Feb", "Mar", "Apr", "May", "Jun",
      "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};

startDate = {2000, 12, 1, 12, 0, 0}; (* Dec 1, 2000; 12 : 00 : 00 *)

endDate = {2000, 12, 31, 12, 0, 0}; (* Dec 31, 2000; 12 : 00 : 00 *)

xmin = FromDate[startDate]; (* seconds *)

xmax = FromDate[endDate]; (* seconds *)

ymin = 8*60*60; (* seconds in eight hours = > 8 : 00 : 00 *)

ymax = 12*60*60; (* seconds in twelve hours = > 12 : 00 : 00 *)

ystep = 10*60; (* 10 minutes *)

data = Table[{Random[ Integer, {xmin, xmax}],
        Random[Integer, {ymin, ymax}]}, {25}];

ListPlot[data, Ticks -> {
        Join[
          Table[{x,
              months[[#1]] <> "-" <> toStringPair[#2] & @@
                Rest[Drop[ToDate[x], -3]],
              {0.01, 0.}, {GrayLevel[0.], AbsoluteThickness[0.25]}},
            {x, xmin, xmax, 5*secPerDay}],
          Table[{x, "",
              {0.004, 0.}, {GrayLevel[0.], AbsoluteThickness[0.125]}},
            {x, xmin - secPerDay, xmax + secPerDay, secPerDay}]],
        Join[
          Table[{y,
              #1 <> ":" <> #2 & @@ (toStringPair /@
                    Drop[Drop[ToDate[y], 3], -1]),
              {0.01, 0.}, {RGBC, AbsoluteThickness[0.25]}},
            {y, ymin, ymax, 3*ystep}],
          Table[{y, "",
              {0.004, 0.}, {GrayLevel[0.], AbsoluteThickness[0.125]}},
            {y, ymin - ystep, ymax + ystep, ystep}]]},
    PlotStyle -> {AbsolutePointSize[3], RGBColor[1, 0, 0]},
    PlotRange -> {{xmin - 2*secPerDay, xmax + secPerDay}, {ymin - ystep,
          ymax + ystep}},
    AxesOrigin -> {xmin - 2*secPerDay, ymin - ystep},
    ImageSize -> {500, 310}];


Bob Hanlon

In a message dated 12/21/00 11:24:25 PM, Maarten.vanderBurgt at icos.be
writes:

>How do I make a plot with time (format hh:mm) on the ordinate and date
>(
>format MMM-dd) on the abscissa?
>


  • Prev by Date: Re: please tell me if individual contours can be labled in ContourPlot
  • Next by Date: Re: How can I transform the number of 123.456 into "123.456"?
  • Previous by thread: Re: Call for all people presenting the Louis or Carl, Big trouble syndrom
  • Next by thread: mathematica log sessions