# Design Example # Quantitative Analysis: Version 1 # For demonstration purposes only import matplotlib.pyplot as plt def read_measurements(filename): """ Returns a list of 4-tuples, where each tuple represents a line in the given file and is of the form (site, temp, salt, oxygen). """ datafile = open(filename) lines = datafile.readlines() datafile.close() measurements = [] for row in lines[1:]: values = row.split() row_tup = (values[0], float(values[1]), float(values[2]), float(values[3])) measurements.append(row_tup) return measurements def STplot(measurements): """ Given a list of 4-tuples, generates a scatter plot comparing salinity and temperature. """ xs = [] ys = [] for row in measurements: xs.append(row[2]) ys.append(row[1]) plt.plot(xs, ys) plt.xlabel("salt") plt.ylabel("temp") plt.show() def minimumO2(measurements): """ Given a list of 4-tuples, returns the minimum value of the oxygen measurement. """ o2s = [row[3] for row in measurements] # o2s = [] # for row in measurements: # o2s.append(row[3]) return min(o2s) # Sample client calls: row_list = read_measurements("sample_quant.txt") STplot(row_list) print "minimum o2 in file:", minimumO2(row_list)