X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=erange.git;a=blobdiff_plain;f=plotbardist.py;fp=plotbardist.py;h=8b1432ecd82a65df1c3d2de4ec2b1da5a384f116;hp=52ccbe294f0b584b07400839ab3b869ea50017f3;hb=0d3e3112fd04c2e6b44a25cacef1d591658ad181;hpb=5e4ae21098dba3d1edcf11e7279da0d84c3422e4 diff --git a/plotbardist.py b/plotbardist.py index 52ccbe2..8b1432e 100755 --- a/plotbardist.py +++ b/plotbardist.py @@ -15,9 +15,10 @@ import optparse import matplotlib from pylab import * from math import * +from commoncode import getConfigParser, getConfigOption, getConfigIntOption, getConfigFloatOption -print "%prog: version 3.2" +print "plotbardist: version 3.3" def main(argv=None): @@ -26,23 +27,7 @@ def main(argv=None): usage = "usage: python %prog infile1 [infile2] [infile3] [options] outfile.png" - parser = optparse.OptionParser(usage=usage) - parser.add_option("--bins", type="int", dest="bins") - parser.add_option("--field", type="int", dest="binnedField") - parser.add_option("--binSize", type="float", dest="binLength") - parser.add_option("--doLog", type="int", dest="logBase") - parser.add_option("--ymax", type="int", dest="maxY") - parser.add_option("--xlabel", dest="xLabel") - parser.add_option("--ylabel", dest="yLabel") - parser.add_option("--binLabels", dest="binLabels", help="comma separated list") - parser.add_option("--title", dest="figTitle") - parser.add_option("--legend", dest="barsLegend", help="comma separated list") - parser.add_option("--xoffset", type="float", dest="pointOffset") - parser.add_option("--figsize", dest="figSizes", help="x,y pair") - parser.set_defaults(bins=10, binnedField=-1, binLength=-1, logBase=None, maxY=0, - xLabel="bins", yLabel="count", binLabels=None, figTitle="", - barsLegend=None, pointOffset=0., figSizes=None) - + parser = makeParser(usage) (options, args) = parser.parse_args(argv[1:]) @@ -59,6 +44,43 @@ def main(argv=None): options.figTitle, options.barsLegend, options.pointOffset, options.figSizes) +def makeParser(usage=""): + parser = optparse.OptionParser(usage=usage) + parser.add_option("--bins", type="int", dest="bins") + parser.add_option("--field", type="int", dest="binnedField") + parser.add_option("--binSize", type="float", dest="binLength") + parser.add_option("--doLog", type="int", dest="logBase") + parser.add_option("--ymax", type="int", dest="maxY") + parser.add_option("--xlabel", dest="xLabel") + parser.add_option("--ylabel", dest="yLabel") + parser.add_option("--binLabels", dest="binLabels", help="comma separated list") + parser.add_option("--title", dest="figTitle") + parser.add_option("--legend", dest="barsLegend", help="comma separated list") + parser.add_option("--xoffset", type="float", dest="pointOffset") + parser.add_option("--figsize", dest="figSizes", help="x,y pair") + + configParser = getConfigParser() + section = "plotbardist" + bins = getConfigIntOption(configParser, section, "bins", 10) + binnedField = getConfigIntOption(configParser, section, "binnedField", -1) + binLength = getConfigIntOption(configParser, section, "binLength", -1) + logBase = getConfigOption(configParser, section, "logBase", None) + maxY = getConfigIntOption(configParser, section, "maxY", 0) + xLabel = getConfigOption(configParser, section, "xLabel", "bins") + yLabel = getConfigOption(configParser, section, "yLabel", "count") + binLabels = getConfigOption(configParser, section, "binLabels", None) + figTitle = getConfigOption(configParser, section, "figTitle", "") + barsLegend = getConfigOption(configParser, section, "barsLegend", None) + pointOffset = getConfigFloatOption(configParser, section, "pointOffset", 0.) + figSizes = getConfigOption(configParser, section, "figSizes", None) + + parser.set_defaults(bins=bins, binnedField=binnedField, binLength=binLength, logBase=logBase, maxY=maxY, + xLabel=xLabel, yLabel=yLabel, binLabels=binLabels, figTitle=figTitle, + barsLegend=barsLegend, pointOffset=pointOffset, figSizes=figSizes) + + return parser + + def plotbardist(fileList, pngfilename, bins=10, binnedField=-1, binLength=-1, logBase=None, maxY=0, xLabel="bins", yLabel="count", binLabels=None, figTitle="", barsLegend=None, pointOffset=0., figSizes=None):