• 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:

    Experiences in raising children in shared housing

    Sometimes I see posts about people’s hope to raise children in a group housing situation, and it often seems overly optimistic to me. In particular they seem to expect that there will be more shared childcare than I think should be expected. Today I talke…

    via The whole sky October 18, 2021

    What to learn

    It's common to see people advocate for learning skills that they have or using processes that they use. For example, Steve Yegge has a set of blog posts where he recommends reading compiler books and learning about compilers. His reasoning is basicall…

    via Posts on Dan Luu October 18, 2021

    EDT with updating double counts

    I recently got confused thinking about the following case: Calculator bet: I am offered the opportunity to bet on a mathematical statement X to which I initially assign 50% probability (perhaps X = 139926 is a quadratic residue modulo 314159). I have acce…

    via The sideways view October 12, 2021

    more     (via openring)


  • Posts
  • RSS
  • ◂◂RSS
  • Contact