• Posts
  • RSS
  • ◂◂RSS
  • Contact

  • Timestamp range in gnuplot

    June 20th, 2011
    gnuplot, tech  [html]
    In gnuplot, you might have some data you'd like to graph that has timestamps:
         1308369601 0.15
         1308369661 0.05
         1308369721 0.43
         1308369781 0.41
         ...
      
    You can see many places that to tell gnuplot your xaxis is in seconds since the epoch you use:
         set xdata time
         set timefmt "%s"
         set format x "%H:%M"     # or anything else
         set xlabel "time"
      
    If you want to limit the range, you might think you could do something like:
         set xrange [1308369932:1308373241]
      
    If you try this, you'll get an error like:
         "plot.gnp", line 16: all points y value undefined!
      
    To fix this, you need to subtract 946684800 from the start and end of your xrange:
         set xrange [1308369932-946684800:1308373241-946684800]
      
    What is going on here? It turns out that unlike everything sensible in the unix world, gnuplot calculates time in seconds since the beginning of the year 2000 instead of the year 1970. So it interprets [1308369932:1308373241] as early morning 2041-06-17 instead of early morning 2011-06-18. The magic number, 946684800, is the number of seconds between 2000-01-01 and 1970-01-01.

    I understand gnuplot was trying to be platform independent, but it's pretty annoying now that the 1970 epoch has become dominant.

    Recent posts on blogs I like:

    Streaming the Biden Infrastructure Plan

    I streamed my thoughts about the Biden infrastructure plan, and unlike previous streams, I uploaded this to YouTube. I go into more details (and more tangents) on video, but, some key points: Out of the nearly $600 billion in the current proposal that is …

    via Pedestrian Observations April 11, 2021

    Collections: Clothing, How Did They Make it? Part IVb: Cloth Money

    This is the second half of the fourth part of our four part (I, II, III, IVa) look at the production of textiles, particularly wool and linen, in the pre-modern world. Last time, we looked at commercial textile workers and the finishing processes for text…

    via A Collection of Unmitigated Pedantry April 9, 2021

    Notes from “Don’t Shoot the Dog”

    I just finished Karen Pryor’s “Don’t Shoot the Dog: the New Art of Teaching and Training.” Partly because a friend points out that it’s not on Audible and therefore she can’t possibly read it, here are the notes I took and some thoughts. It’s a quick, eas…

    via The whole sky April 2, 2021

    more     (via openring)


  • Posts
  • RSS
  • ◂◂RSS
  • Contact