On 2005-10-25, Grant Edwards <[EMAIL PROTECTED]> wrote: > It looks like it. Though I've used custom tics in the past, it > was never for time values. Based on the help from gnuplot, I > suspect you can get what you want without doing custom tics, > but rather using the commands > > set xdata time > set timefmt > set format x > > Interestingly, using Unix timestamps creates some sort of > resolution problems. The following ought to work but doesn't. > It appears that there is some sort of resolution problem: > > ------------------------------8<------------------------------ > import Gnuplot,time,sys,math > > def pause(): > sys.stdout.write("Press enter to continue: ") > sys.stdin.readline() > > def fgrid(start,stop,count): > for i in xrange(count): > yield start + ((stop-start)*i)/count > > start = time.time() > > xdata = [x for x in fgrid(0,600.0,10)] # two minutes worth > ydata = [math.sin(x/100.0) for x in xdata] > data = Gnuplot.Data(xdata,ydata,with='linespoints',using=(1,2)) > gp = Gnuplot.Gnuplot(debug=1) > gp.title('Data starting at %s' % time.asctime(time.gmtime(start+xdata[0]))) > > # x axis will use default tics (seconds since start of run) > gp.plot(data) > pause() > > # same data with x value as Unix timestamps > > xdata = [x+start for x in xdata] > print xdata > data = Gnuplot.Data(xdata,ydata,with='linespoints',using=(1,2)) > > gp('set xdata time') > gp('set timefmt "%s') > gp('set format x "%r"') > gp('set xtics 120') > gp.plot(data) > pause() > ------------------------------8<------------------------------
Yup. Something in the Gnuplot module is broken. Here's the x data I'm passing it: [1130256529.616158, 1130256589.616158, 1130256649.616158, 1130256709.616158, 1130256769.616158, 1130256829.616158, 1130256889.616158, 1130256949.616158, 1130257009.616158, 1130257069.616158] And here's what it's passing to gnuplot 1130256512.0 0.0 1130256640.0 0.564642488956 1130256640.0 0.93203908205 1130256768.0 0.97384762764 1130256768.0 0.675463199615 1130256768.0 0.141120001674 1130256896.0 -0.442520439625 1130256896.0 -0.871575772762 1130257024.0 -0.996164619923 1130257024.0 -0.772764503956 It appears that the Gnuplot modules has coerced my data into single-precision -- thus throwing away most of the resolution on the x-axis. -- Grant Edwards grante Yow! Yow! at visi.com -- http://mail.python.org/mailman/listinfo/python-list