I've written my first python script with matplotlib, which works fine
at the command line but not with cron. It's quite puzzling to me, and
probably involves some path declaration that I don't know about.
#plot data from automate.csv
import matplotlib
import datetime
import numpy
from matplotlib import legend
from matplotlib.pyplot import figure, show, plot_date, setp, ylabel,
savefig, xlabel
from matplotlib.dates import DayLocator, HourLocator, DateLocator,
DateFormatter,drange, MinuteLocator, date2num, num2date
from matplotlib.mlab import csv2rec
from matplotlib.ticker import *
newr = csv2rec('/home/paulsimon/Documents/automate.csv')
x = date2num(newr.field(0))
fig = figure()
ax1 = fig.add_subplot(111)
line1, = ax1.plot_date(newr['dattim'], newr['bench_1'], '-r',label =
'bench 1')
line2, = ax1.plot_date(newr['dattim'], newr['bench_2'], '-b', label =
'bench 2')
line3, = ax1.plot_date(newr['dattim'], newr['eave'],'-k', label = 'eave')
line4, = ax1.plot_date(newr['dattim'], newr['outside'], '-g', label =
'outside')
ylabel('temperature')
xlabel(r'time/date')
hours = HourLocator(range(0,26,4))
dateformatter = DateFormatter('%I:%M %p\n%m/%d/%y')
ax1.xaxis.set_major_formatter(dateformatter)
ax1.xaxis.set_major_locator(hours)
ax1.set_ylim(30,100)
# Rotate x labels
for label in ax1.xaxis.get_ticklabels():
label.set_fontsize(8)
ax1.grid(True)
ax1.xaxis.grid(False)
yminorLocator = MultipleLocator(5)
ax1.yaxis.set_minor_locator(yminorLocator)
ax1.yaxis.grid(True,which='major', linestyle ='-')
ax1.yaxis.grid(True,which='minor',linestyle = ':')
leg = ax1.legend(('bench 1', 'bench 2', ' eave', 'outside'), 'lower
right', shadow = True)
for t in leg.get_texts():
t.set_fontsize('small')
savefig('/home/paulsimon/python_scripts/image.png', format = 'png')
Running with --debug option, here are the two different output files:
$HOME=/home/paulsimon
CONFIGDIR=/home/paulsimon/.matplotlib
matplotlib data path /usr/lib/python2.5/site-packages/matplotlib/mpl-data
loaded rc file
/usr/lib/python2.5/site-packages/matplotlib/mpl-data/matplotlibrc
matplotlib version 0.91.2
verbose.level debug
interactive is False
units is False
platform is linux2
loaded modules: ['_bisect', 'xml.sax.urlparse', 'distutils',
'matplotlib.matplotlib', 'datetime', 'matplotlib.tempfile',
'distutils.sysconfig', 'encodings.encodings', 'pytz.cStringIO', 'xml',
'distutils.dep_util', 'struct', 'tempfile', 'xml.sax.urllib', 'imp',
'_struct', 'pytz.os', 'zipimport', 'string', 'encodings.utf_8',
'matplotlib.__future__', 'pytz.tzinfo', 'pytz.datetime',
'distutils.re', 'bisect', 'signal', 'random', 'xml.sax.xmlreader',
'matplotlib.pytz', 'distutils.log', 'pytz.tzfile', 'cStringIO',
'pkgutil', 'locale', 'xml.sax.saxutils', 'encodings', 'dateutil',
'matplotlib.warnings', 'matplotlib.string', 'pytz.pytz', 'urllib',
'matplotlib.sys', 're', 'new', 'math', 'fcntl', 'UserDict',
'distutils.os', 'matplotlib', 'codecs', 'md5', '_locale',
'matplotlib.sre_constants', 'matplotlib.os', 'thread',
'pkg_resources', 'weakref', 'itertools', 'distutils.spawn',
'distutils.sys', 'os', 'sre_parse', '__future__', 'matplotlib.copy',
'xml.sax.types', '_sre', '__builtin__', 'matplotlib.re', 'operator',
'distutils.util', 'distutils.string', 'matplotlib.datetime',
'posixpath', 'errno', '_socket', 'binascii', 'sre_constants',
'matplotlib.md5', 'types', 'pytz.sys', 'xml.sax.handler',
'pytz.pkg_resources', 'xml.sax.os', 'matplotlib.xml', '_codecs',
'pytz', 'matplotlib.pyparsing', 'copy', 'socket', '_types',
'matplotlib.dateutil', 'hashlib', 'posix', 'encodings.aliases',
'matplotlib.fontconfig_pattern', 'exceptions', 'xml.sax._exceptions',
'pytz.bisect', 'distutils.distutils', 'copy_reg', 'sre_compile',
'xml.sax', '_hashlib', '_random', 'pytz.struct', 'site', '__main__',
'shutil', 'matplotlib.weakref', 'strop', 'encodings.codecs',
'gettext', 'matplotlib.rcsetup', 'pytz.sets', 'xml.sax.codecs',
'stat', '_ssl', 'warnings', 'encodings.types', 'sets', 'sys',
'xml.sax.sys', 'os.path', 'pytz.gettext', 'matplotlib.distutils',
'_weakref', 'distutils.errors', 'urlparse', 'linecache',
'matplotlib.shutil', 'time']
Using fontManager instance from
/home/paulsimon/.matplotlib/fontManager.cache
numerix numpy 1.0.4
backend GTKAgg version 2.12.1
findfont found Bitstream Vera Sans, normal, normal 400, normal, 8.0
findfont returning
/usr/lib/python2.5/site-packages/matplotlib/mpl-data/fonts/ttf/Vera.ttf
findfont found Bitstream Vera Sans, normal, normal 400, normal, 8.0
findfont returning
/usr/lib/python2.5/site-packages/matplotlib/mpl-data/fonts/ttf/Vera.ttf
findfont found Bitstream Vera Sans, normal, normal 400, normal, 8.0
...
findfont returning
/usr/lib/python2.5/site-packages/matplotlib/mpl-data/fonts/ttf/Vera.ttf
findfont found Bitstream Vera Sans, normal, normal 400, normal, 9.996
findfont returning
/usr/lib/python2.5/site-packages/matplotlib/mpl-data/fonts/ttf/Vera.ttf
And this is the output file (complete) running under cron:
$HOME=/home/paulsimon
CONFIGDIR=/home/paulsimon/.matplotlib
matplotlib data path /usr/lib/python2.5/site-packages/matplotlib/mpl-data
loaded rc file
/usr/lib/python2.5/site-packages/matplotlib/mpl-data/matplotlibrc
matplotlib version 0.91.2
verbose.level debug
interactive is False
units is False
platform is linux2
loaded modules: ['_bisect', 'xml.sax.urlparse', 'distutils',
'matplotlib.matplotlib', 'datetime', 'matplotlib.tempfile',
'distutils.sysconfig', 'encodings.encodings', 'pytz.cStringIO', 'xml',
'distutils.dep_util', 'struct', 'tempfile', 'xml.sax.urllib', 'imp',
'_struct', 'pytz.os', 'zipimport', 'string', 'matplotlib.__future__',
'pytz.tzinfo', 'pytz.datetime', 'distutils.re', 'bisect', 'signal',
'random', 'xml.sax.xmlreader', 'matplotlib.pytz', 'distutils.log',
'pytz.tzfile', 'cStringIO', 'pkgutil', 'locale', 'xml.sax.saxutils',
'encodings', 'dateutil', 'matplotlib.warnings', 'matplotlib.string',
'pytz.pytz', 'urllib', 'matplotlib.sys', 're', 'new', 'math', 'fcntl',
'UserDict', 'distutils.os', 'matplotlib', 'codecs', 'md5', '_locale',
'matplotlib.sre_constants', 'matplotlib.os', 'thread',
'pkg_resources', 'weakref', 'itertools', 'distutils.spawn',
'distutils.sys', 'os', 'sre_parse', '__future__', 'matplotlib.copy',
'xml.sax.types', '_sre', '__builtin__', 'matplotlib.re', 'operator',
'distutils.util', 'distutils.string', 'matplotlib.datetime',
'posixpath', 'errno', '_socket', 'binascii', 'sre_constants',
'matplotlib.md5', 'types', 'pytz.sys', 'xml.sax.handler',
'pytz.pkg_resources', 'xml.sax.os', 'matplotlib.xml', '_codecs',
'pytz', 'matplotlib.pyparsing', 'copy', 'socket', '_types',
'matplotlib.dateutil', 'hashlib', 'posix', 'encodings.aliases',
'matplotlib.fontconfig_pattern', 'exceptions', 'xml.sax._exceptions',
'pytz.bisect', 'distutils.distutils', 'copy_reg', 'sre_compile',
'xml.sax', '_hashlib', '_random', 'pytz.struct', 'site', '__main__',
'shutil', 'matplotlib.weakref', 'strop', 'encodings.codecs',
'gettext', 'matplotlib.rcsetup', 'pytz.sets', 'xml.sax.codecs',
'stat', '_ssl', 'warnings', 'encodings.types', 'encodings.ascii',
'sets', 'sys', 'xml.sax.sys', 'os.path', 'pytz.gettext',
'matplotlib.distutils', '_weakref', 'distutils.errors', 'urlparse',
'linecache', 'matplotlib.shutil', 'time']
numerix numpy 1.0.4
Using fontManager instance from
/home/paulsimon/.matplotlib/fontManager.cache
The plot output took me a lot of time to work out, which I enjoyed,
and the output is dazzling!
Paul Simon
------------------------------------------------------------------------
------------------------------------------------------------------------------
------------------------------------------------------------------------
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users