| dmitriy@138 | 1 | #!/usr/bin/env python |
| dmitriy@138 | 2 | |
| dmitriy@138 | 3 | from pylab import scatter, show, cm, colorbar, savefig, axis, \ |
| dmitriy@138 | 4 | figure, xlim, axes, hsv, subplots_adjust as adjust |
| dmitriy@138 | 5 | from itertools import izip |
| dmitriy@138 | 6 | from sys import argv, exit |
| dmitriy@138 | 7 | import os.path as osp |
| dmitriy@138 | 8 | |
| dmitriy@138 | 9 | |
| dmitriy@138 | 10 | def plot(val_fn, pts_fn, output_fn): |
| dmitriy@138 | 11 | points = [] |
| dmitriy@138 | 12 | with open(pts_fn) as fp: |
| dmitriy@138 | 13 | for line in fp.xreadlines(): |
| dmitriy@138 | 14 | points.append(map(float, line.split())) |
| dmitriy@138 | 15 | |
| dmitriy@138 | 16 | values = [] |
| dmitriy@138 | 17 | with open(val_fn) as fp: |
| dmitriy@138 | 18 | for line in fp.xreadlines(): |
| dmitriy@138 | 19 | values.append(float(line.split()[1])) |
| dmitriy@138 | 20 | |
| dmitriy@138 | 21 | xx = [pt[0] for pt in points] |
| dmitriy@138 | 22 | yy = [pt[1] for pt in points] |
| dmitriy@138 | 23 | print "X:", min(xx), max(xx) |
| dmitriy@138 | 24 | print "Y:", min(yy), max(yy) |
| dmitriy@138 | 25 | |
| dmitriy@138 | 26 | m = min(values) |
| dmitriy@138 | 27 | values = [(v-m) % 1. for v in values] |
| dmitriy@138 | 28 | print "V:", min(values), max(values) |
| dmitriy@138 | 29 | |
| dmitriy@138 | 30 | # hsv() |
| dmitriy@141 | 31 | fig = figure() |
| dmitriy@141 | 32 | scatter(xx,yy,s=10,c=values) |
| dmitriy@141 | 33 | colorbar() |
| dmitriy@141 | 34 | |
| dmitriy@138 | 35 | # ax = fig.add_axes([-.05,-.1,1.1,1.1]) |
| dmitriy@138 | 36 | ax = axes() |
| dmitriy@138 | 37 | ax.set_axis_off() |
| dmitriy@138 | 38 | ax.set_aspect('equal', 'box') |
| dmitriy@138 | 39 | # adjust(0,0,1,1,0,0) |
| dmitriy@141 | 40 | |
| dmitriy@138 | 41 | fig.savefig(output_fn) |
| dmitriy@138 | 42 | |
| dmitriy@138 | 43 | if __name__ == '__main__': |
| dmitriy@138 | 44 | if len(argv) < 3: |
| dmitriy@138 | 45 | print "Usage: %s VALUES POINTS" % argv[0] |
| dmitriy@138 | 46 | exit() |
| dmitriy@138 | 47 | |
| dmitriy@138 | 48 | val_fn = argv[1] |
| dmitriy@138 | 49 | pts_fn = argv[2] |
| dmitriy@138 | 50 | output_fn, ext = osp.splitext(val_fn) |
| dmitriy@138 | 51 | output_fn += '.pdf' |
| dmitriy@138 | 52 | plot(val_fn, pts_fn, output_fn) |