From:
<hec...@te...> - 2004-04-23 21:34:46
|
I changed the script and I got this error Thanks for your help ######################################################################## NEW ERROR ######################################################################## C:\Documents and Settings\villaf>python e:\src\python\ttp\ttp_plot.py 1082763298.0 : Fri Apr 23 15:34:58 2004 : ttp_plot start Traceback (most recent call last): File "e:\src\python\ttp\ttp_plot.py", line 60, in ? get_data('traffic', 'tmp_calls0', 3) File "e:\src\python\ttp\ttp_plot.py", line 37, in get_data plotting_date(tel[0], datum, vals) File "e:\src\python\ttp\ttp_plot.py", line 54, in plotting_date savefig("c:\\tmp\\%s_%s" % (tel,table)) File "C:\Python23\Lib\site-packages\matplotlib\matlab.py", line 1115,=20 in savefig manager.canvas.print_figure(*args, **kwargs) File=20 "C:\Python23\Lib\site-packages\matplotlib\backends\backend_agg.py", line=20 419, in print_figure self.renderer._renderer.write_png(filename) IOError: could not open file ######################################################################## 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 =3D ConfigParser.ConfigParser() config.readfp(open('e:\\src\\python\\ttp\\ttp.conf', 'r')) loc_host =3D config.get('DATABASE', 'loc_host') loc_user =3D config.get('DATABASE', 'loc_user') loc_passwd =3D config.get('DATABASE', 'loc_passwd') loc_db =3D config.get('DATABASE', 'loc_db') loc_db =3D MySQLdb.connect(host =3D loc_host, user =3D loc_user, passwd =3D= =20 loc_passwd, db =3D loc_db) cursor =3D loc_db.cursor() def get_data(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=20 min FROM %s.%s GROUP BY 1,2" % (db,dig,db,table)) cursor.execute("SELECT DISTINCT tel FROM %s.tmp" % (db)) tels =3D cursor.fetchall() for tel in tels: cursor.execute("SELECT fecha, min FROM %s.tmp WHERE tel =3D '%s'"= =20 % (db,tel[0])) data =3D cursor.fetchall() datum =3D [datetime.datetime(int(q[0][0:4]), int(q[0][4:6]),=20 int(q[0][6:8]), 0, 0) for q in data] vals =3D [q[1] for q in data] plotting_date(tel[0], datum, vals) def plotting_date(tel, datum, vals): ax =3D 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 =3D ax.get_xticklabels() set(labels, 'rotation', 'vertical') grid(True) savefig("c:\\tmp\\%s_%s" % (tel,table)) # --- main -- # if __name__ =3D=3D '__main__': print time.mktime(time.localtime()), ': \t', time.asctime(), ': \t',=20 'ttp_plot start' get_data('traffic', 'tmp_calls0', 3) print time.mktime(time.localtime()), ': \t', time.asctime(), ': \t',=20 'ttp_plot end' H=E9ctor Villafuerte D. wrote: > > 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=20 > 1011, in plot_date > try: lines =3D gca().plot_date(*args, **kwargs) > File "C:\Python23\Lib\site-packages\matplotlib\axes.py", line 1198,=20 > in plot_date > locator =3D MinuteLocator(1) > File "C:\Python23\Lib\site-packages\matplotlib\ticker.py", line 720,=20 > 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 =3D ConfigParser.ConfigParser() > config.readfp(open('e:\\src\\python\\ttp\\ttp.conf', 'r')) > loc_host =3D config.get('DATABASE', 'loc_host') > loc_user =3D config.get('DATABASE', 'loc_user') > loc_passwd =3D config.get('DATABASE', 'loc_passwd') > loc_db =3D config.get('DATABASE', 'loc_db') > > loc_db =3D MySQLdb.connect(host =3D loc_host, user =3D loc_user, passwd= =3D=20 > loc_passwd, db =3D loc_db) > cursor =3D 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)=20 > as min FROM %s.%s GROUP BY 1,2" % (db,dig,db,table)) > cursor.execute("SELECT DISTINCT tel FROM %s.tmp" % (db)) > tels =3D cursor.fetchall() > for tel in tels: > cursor.execute("SELECT fecha, min FROM %s.tmp WHERE tel =3D=20 > '%s'" % (db,tel[0])) > data =3D cursor.fetchall() > datum =3D [datetime.datetime(int(q[0][0:4]), int(q[0][4:6]),=20 > int(q[0][6:8]), 0, 0) for q in data] > vals =3D [q[1] for q in data] > > ax =3D 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 =3D ax.get_xticklabels() > set(labels, 'rotation', 'vertical') > grid(True) > savefig("c:\\tmp\\%s_%s_test" % (tel[0],table)) > > > # --- main -- # > if __name__ =3D=3D '__main__': > print time.mktime(time.localtime()), ': \t', time.asctime(), ':=20 > \t', 'ttp_plot start' > plotting_date('traffic', 'tmp_calls0', 3) > print time.mktime(time.localtime()), ': \t', time.asctime(), ':=20 > \t', 'ttp_plot end' > > > > > > > ------------------------------------------------------- > This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek > For a limited time only, get FREE Ground shipping on all orders of $35 > or more. Hurry up and shop folks, this offer expires April 30th! > http://www.thinkgeek.com/freeshipping/?cpg=3D12297 > _______________________________________________ > Matplotlib-users mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > |