19 print "%prog: version 2.2"
25 usage = "usage: python %s infile outfile.png [--scale] [--max weightMax] [--ymin bottom] [--ymax top] [--subtractEvens]"
27 parser = optparse.OptionParser(usage=usage)
28 parser.add_option("--scale", action="store_true", dest="doScale")
29 parser.add_option("--max", type="float", dest="weightMax")
30 parser.add_option("--ymin", type="float", dest="ymin")
31 parser.add_option("--ymax", type="float", dest="ymax")
32 parser.add_option("--subtractEvens", action="store_true", dest="subtractEvens")
33 parser.set_defaults(doScale=False, weightMax=-1, ymin=None, ymax=None, subtractEvens=False)
34 (options, args) = parser.parse_args(argv[1:])
43 plotprofile(infile, pngfilename, options.doScale, options.weightMax, options.ymin, options.ymax, options.subtractEvens)
46 def plotprofile(inFileName, pngfilename, doScale=False, weightMax=-1, ymin=None, ymax=None, subtractEvens=False):
47 infile = open(inFileName)
70 line = infile.readline()
71 fields = line.strip().split()
72 for data in fields[1:-1]:
73 datapoint = float(data)
80 xcoordList.append(datapoint)
84 fields = line.strip().split()
86 for data in fields[1:-1]:
87 datapointList.append(float(data))
89 if subtractEvens and index % 2 == 0:
90 for dataIndex in range(len(datapointList)):
91 dataList[-1][dataIndex] -= datapointList[dataIndex]
93 dataList.append(datapointList)
95 weight = float(fields[-1])
96 if subtractEvens and index % 2 == 0:
99 labelList.append(fields[0])
100 if weight > weightMax:
103 weightList.append(weight)
107 for index in range(len(dataList)):
110 scale = weightList[index] / weightMax
111 print weightList[index], weightMax, scale
112 for val in dataList[index]:
113 newList.append(val * scale)
115 newList = dataList[index]
117 plotList.append(plot(xcoordList, newList, linewidth=3.0))
119 xticks(xcoordList, rotation="vertical")
120 xlim(xmin - 0.1, xmax + 0.1)
124 legend(plotList, labelList)
128 if __name__ == "__main__":