• Posts
  • RSS
  • ◂◂RSS
  • Contact

  • Timestamp range in gnuplot

    June 20th, 2011
    tech, gnuplot  [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:

    What should we do about network-effect monopolies?

    Many large companies today are software monopolies that give their product away for free to get monopoly status, then do horrible things. Can we do anything about this?

    via benkuhn.net July 5, 2020

    More on the Deutschlandtakt

    The Deutschlandtakt plans are out now. They cover investment through 2040, but even beforehand, there’s a plan for something like a national integrated timetable by 2030, with trains connecting the major cities every 30 minutes rather than hourly. But the…

    via Pedestrian Observations July 1, 2020

    How do cars fare in crash tests they're not specifically optimized for?

    Any time you have a benchmark that gets taken seriously, some people will start gaming the benchmark. Some famous examples in computing are the CPU benchmark specfp and video game benchmarks. With specfp, Sun managed to increase its score on 179.art (a su…

    via Posts on Dan Luu June 30, 2020

    more     (via openring)


  • Posts
  • RSS
  • ◂◂RSS
  • Contact