Ok, first off, thanks for all the help guys, this part " set xtics ("label" pos, "label" pos, "label" pos) " is mainly what i was confused about. the 'pos' part. i think that the way i am writing this leaves this out. in fact, i am pretty sure.
here is the code i am trying out. def draw_chart(self, StartTime, EndTime): # make start time and end time markers in seconds start_tic = time.mktime(time.strptime(StartTime, '%Y-%m-%d %H:%M:%S')) end_tic = time.mktime(time.strptime(EndTime, '%Y-%m-%d %H:%M:%S')) # get the difference in seconds between start and end times diff_time = start_tic - end_tic # get tick marks with respect to time tic_increment = diff_time / 15 #build an array of ticmarks tics_raw = [] tics_raw.append(start_tic) tic_adder = start_tic for x in range(13): tic_adder = tic_adder + tic_increment tics_raw.append(tic_adder) #add the last time to the tics array tics_raw.append(end_tic) # change all the tic increments to reader understandable values tics = [] for x in tics_raw: tics.append(time.strftime('%m/%d %H:%M', time.localtime(x))) print 'tic '+(time.strftime('%m/%d %H:%M', time.localtime(x))) # get the plot points date / value Sensor = self.GraphSensorEntry.get_text() db = MySQLdb.connect(host="localhost", user="piv", passwd="crayon99", db="DDS") cursor=db.cursor() cursor.execute("SELECT `Raw`, `DateTime` FROM `Process` WHERE `Sensor_ID` = '"+Sensor+"' \ AND `DateTime` > '"+StartTime+"' AND `DateTime` < '"+EndTime+"' ORDER BY `DateTime` ") results = cursor.fetchall() plot_x = [] plot_y = [] for row in results: Value = row[0] #convert datetime.datetime object to epoch (seconds) object Time = time.mktime(row[1].timetuple()) print time.strftime('%m/%d %H:%M:%S', time.localtime(Time)) plot_x.append(float(Time)) plot_y.append(float(Value)) g = Gnuplot.Gnuplot(debug=1) g.title('testing') data = Gnuplot.Data(plot_x,plot_y) outfile = '/home/piv/PivData/tmp/images/graph.png' g('set term png') g('set out "%s"' % outfile) g('set xtics (%s)' % (tics)) g.plot(data) self.GraphImage.set_from_file('/home/piv/PivData/tmp/images/graph.png') and this is the terminal output i get gnuplot> set title "testing" gnuplot> set term png gnuplot> set out "/home/piv/PivData/tmp/images/graph.png" gnuplot> set xtics (['10/18 09:54', '10/17 22:42', '10/17 11:30', '10/17 00:18', '10/16 13:06', '10/16 01:54', '10/15 14:42', '10/15 03:30', '10/14 16:18', '10/14 05:06', '10/13 17:54', '10/13 06:42', '10/12 19:30', '10/12 08:18', '10/25 09:54']) gnuplot> plot '/tmp/tmpn2URt2' notitle gnuplot> set xtics (['10/18 09:54', '10/17 22:42', '10/17 11:30', '10/17 00:18', '10/16 13:06', '10/16 01:54', '10/15 14:42', '10/15 03:30', '10/14 16:18', '10/14 05:06', '10/13 17:54', '10/13 06:42', '10/12 19:30', '10/12 08:18', '10/25 09:54']) ^ line 0: invalid expression it is drawing the graph though, and it looks right compared with the data i noticed in the docs for gnuplot, that it can do date/time and by default uses seconds since 2000. and then you can pass the format that you want to show it in. would this give the same kind of result that i am looking for ? my math in how i am doing this is kinda off too, i think. for the stuff i am doing on our website, i use php with jpgraph, it does things a little different. thanks for everything shawn -- http://mail.python.org/mailman/listinfo/python-list