[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] Plotting (with gnuplot) using dates timestamps
From: |
Nick Dokos |
Subject: |
Re: [O] Plotting (with gnuplot) using dates timestamps |
Date: |
Mon, 26 Mar 2012 10:37:12 -0400 |
Steven Buczkowski <address@hidden> wrote:
> On Mon, 2012-03-26 at 15:37 +0200, Alan Schmitt wrote:
> > Hello,
> >
> > I'm trying to plot the following table, but the dates part is all wrong. Is
> > there a way to tell gnuplot what the date format is?
> >
> > #+tblname: data-table
> > | Date | HP | HC |
> > |------------------+--------+--------|
> > | [2011-08-20 Sat] | 006815 | 008399 |
> > | [2011-08-29 Mon] | 006840 | 008438 |
> > | [2011-09-11 Sun] | 006946 | 008552 |
> > | [2011-12-11 Sun] | 007805 | 009603 |
> > | [2012-03-04 Sun] | 008800 | 010826 |
> > | [2012-03-11 Sun] | 008876 | 010930 |
> > | [2012-03-25 Sun] | 009015 | 011121 |
> >
>
> In straight gnuplot, I would do something like the following:
>
> gnuplot> set xdata time
> gnuplot> set timefmt '[%Y-%m-%d %a]'
>
The "set xdata time" line is indeed what makes the difference:
without it, gnuplot doesn't know that this is a time series.
But there are some additional details: when babel prepares the
data, the data file that will be fed to gnuplot ends up like this
(not sure this is documented though):
,----
| 2011-08-20-00:00:00 6815 8399
| 2011-08-29-00:00:00 6840 8438
| 2011-09-11-00:00:00 6946 8552
| 2011-12-11-00:00:00 7805 9603
| 2012-03-04-00:00:00 8800 10826
| 2012-03-11-00:00:00 8876 10930
| 2012-03-25-00:00:00 9015 11121
`----
so the script should look something like this:
--8<---------------cut here---------------start------------->8---
reset
set xdata time
set timefmt "%Y-%m-%d-%H:%M:%S"
set format x "%Y-%m-%d"
set xrange ["2011-08-01":"2012-04-01"]
set title "Consumption"
set size ratio square
set xlabel "Date"
set yrange [6800:9100]
set ylabel "HP"
set ytics nomirror
set y2range [8000:12000]
set y2label "HC"
set y2tics nomirror
set style data points
plot data using 1:2 axis x1y1 title 'HP', \
data using 1:3 axis x1y2 title 'HC'
--8<---------------cut here---------------end--------------->8---
BTW, going into gnuplot and saying "help time/date" helps :-)
I have trouble navigating the gnuplot help system, but I think
it is complete.
Nick
- [O] Plotting (with gnuplot) using dates timestamps, Alan Schmitt, 2012/03/26
- Re: [O] Plotting (with gnuplot) using dates timestamps, Allen S. Rout, 2012/03/26
- Re: [O] Plotting (with gnuplot) using dates timestamps, Michael Brand, 2012/03/26
- Re: [O] Plotting (with gnuplot) using dates timestamps, Steven Buczkowski, 2012/03/26
- Re: [O] Plotting (with gnuplot) using dates timestamps,
Nick Dokos <=
- Re: [O] Plotting (with gnuplot) using dates timestamps, Alan Schmitt, 2012/03/26
- Re: [O] Plotting (with gnuplot) using dates timestamps, Karl Voit, 2012/03/26
- Re: [O] Plotting (with gnuplot) using dates timestamps, Nick Dokos, 2012/03/26
- Re: [O] Plotting (with gnuplot) using dates timestamps, Alan Schmitt, 2012/03/26
- Re: [O] Plotting (with gnuplot) using dates timestamps, Karl Voit, 2012/03/26
- Re: [O] Plotting (with gnuplot) using dates timestamps, Ian Barton, 2012/03/26
- Re: [O] Plotting (with gnuplot) using dates timestamps, Karl Voit, 2012/03/27
Re: [O] Plotting (with gnuplot) using dates timestamps, Mueen Nawaz, 2012/03/29