From:
<hec...@te...> - 2004-04-23 18:28:39
|
hi all, i'm getting the following error when running this script. if the script doesn't iterate over "tels" it runs fine... it seems to do things right just once. thanks in advance, hector ################################################################################ ERROR ################################################################################ C:\Documents and Settings\villaf>python e:\src\python\ttp\ttp_plot.py 1082751605.0 : Fri Apr 23 12:20:05 2004 : ttp_plot start Traceback (most recent call last): File "e:\src\python\ttp\ttp_plot.py", line 56, in ? plotting_date('traffic', 'tmp_calls0', 3) File "e:\src\python\ttp\ttp_plot.py", line 39, in plotting_date plot_date(datum, vals, PyDatetimeConverter()) File "C:\Python23\Lib\site-packages\matplotlib\matlab.py", line 1011, in plot_date try: lines = gca().plot_date(*args, **kwargs) File "C:\Python23\Lib\site-packages\matplotlib\axes.py", line 1198, in plot_date locator = MinuteLocator(1) File "C:\Python23\Lib\site-packages\matplotlib\ticker.py", line 720, in __init__ MultipleLocator.__init__(self, base*SEC_PER_MIN) NameError: global name 'SEC_PER_MIN' is not defined ################################################################################ SCRIPT ################################################################################ import time, ConfigParser, MySQLdb import datetime import matplotlib matplotlib.use('Agg') from matplotlib.matlab import * from matplotlib.dates import PyDatetimeConverter, MONDAY from matplotlib.ticker import WeekdayLocator, DayLocator, DateFormatter config = ConfigParser.ConfigParser() config.readfp(open('e:\\src\\python\\ttp\\ttp.conf', 'r')) loc_host = config.get('DATABASE', 'loc_host') loc_user = config.get('DATABASE', 'loc_user') loc_passwd = config.get('DATABASE', 'loc_passwd') loc_db = config.get('DATABASE', 'loc_db') loc_db = MySQLdb.connect(host = loc_host, user = loc_user, passwd = loc_passwd, db = loc_db) cursor = loc_db.cursor() def plotting_date(db, table, dig): cursor.execute("DROP TABLE IF EXISTS %s.tmp" % (db)) cursor.execute("CREATE TABLE %s.tmp " "SELECT fecha, mid(tel,1,%d) as tel, sum(minutos) as min FROM %s.%s GROUP BY 1,2" % (db,dig,db,table)) cursor.execute("SELECT DISTINCT tel FROM %s.tmp" % (db)) tels = cursor.fetchall() for tel in tels: cursor.execute("SELECT fecha, min FROM %s.tmp WHERE tel = '%s'" % (db,tel[0])) data = cursor.fetchall() datum = [datetime.datetime(int(q[0][0:4]), int(q[0][4:6]), int(q[0][6:8]), 0, 0) for q in data] vals = [q[1] for q in data] ax = subplot(1,1,1) plot_date(datum, vals, PyDatetimeConverter()) ax.xaxis.set_major_locator(WeekdayLocator(MONDAY)) ax.xaxis.set_major_formatter(DateFormatter('%b %d')) ax.xaxis.set_minor_locator(DayLocator()) ax.xaxis.autoscale_view() title('TEST') ylabel('test') labels = ax.get_xticklabels() set(labels, 'rotation', 'vertical') grid(True) savefig("c:\\tmp\\%s_%s_test" % (tel[0],table)) # --- main -- # if __name__ == '__main__': print time.mktime(time.localtime()), ': \t', time.asctime(), ': \t', 'ttp_plot start' plotting_date('traffic', 'tmp_calls0', 3) print time.mktime(time.localtime()), ': \t', time.asctime(), ': \t', 'ttp_plot end' |