Mercurial > ~darius > hgwebdir.cgi > pyinst
view plotss.py @ 33:e80c2ff5fa87
Add program to plot data files from sitesurvey.py
author | Daniel O'Connor <darius@dons.net.au> |
---|---|
date | Wed, 21 Sep 2011 15:34:49 +0930 |
parents | |
children | ff63d71e1383 |
line wrap: on
line source
#!/usr/bin/env python import exceptions import numpy import pylab import sys def doplot(fname): f = file(fname) opts = {} for line in f: key, value = line.strip().split(' ', 1) try: opts[key] = int(value) except exceptions.ValueError, e: try: opts[key] = float(value) except exceptions.ValueError, e: opts[key] = value xdata = numpy.fromstring(opts['XDATA'], sep = ', ') ydata = numpy.fromstring(opts['YDATA'], sep = ', ') xdata /= 1e6 pylab.title("Tag \'" + opts['TAG'] + "\' at " + opts['TIMESTAMP']) pylab.xlabel("Frequency (MHz)") pylab.ylabel("Level (dBm)") annstr = "FStart\t%.2f MHz\nFStop\t%.2f MHz\nPoints\t%d" % ( float(opts['FSTART']) / 1e6, float(opts['FSTOP']) / 1e6, len(xdata)) pylab.annotate(annstr, xy=(5, -40), xycoords='axes points') annstr = "Video BW\t%.1f kHz\nResol. BW\t%.1f kHz\nAttenuation\t%.1f dB\nRef Level\t%.1f dBm" % ( float(opts['VIDBW']) / 1e3, float(opts['RESBW']) / 1e3, float(opts['ATTEN']), float(opts['REFLEV'])) pylab.annotate(annstr, xy=(-140, -55), xycoords='axes points') pylab.grid(True) pylab.plot(xdata, ydata, linestyle='solid', marker='.') pylab.show() if __name__ == "__main__": if len(sys.argv) < 2: print "Need at least one file to plot" sys.exit(1) for fn in sys.argv[1:]: doplot(fn)