annotate trunk/experiments/scripts/cnbh-syllables/results_plotting/plot_munged_results.py @ 425:1402e0d3c064

- Offscreen plotting
author tomwalters
date Mon, 01 Nov 2010 01:36:44 +0000
parents f405ead2736f
children 99f9bf0f7798
rev   line source
tomwalters@423 1 #!/usr/bin/python
tomwalters@423 2 """
tomwalters@423 3 plot_munged_results.py
tomwalters@423 4
tomwalters@423 5 """
tomwalters@423 6
tomwalters@423 7 import numpy as np
tomwalters@423 8 import pylab as p
tomwalters@425 9 import matplotlib as mpl
tomwalters@425 10 mpl.use('PDF')
tomwalters@423 11 import matplotlib.pyplot as plt
tomwalters@423 12
tomwalters@425 13
tomwalters@423 14 f=open("results_test_all.csv","r")
tomwalters@423 15 results = dict()
tomwalters@423 16 for line in f:
tomwalters@423 17 if line[0] != "#":
tomwalters@423 18 values = line.strip().split(",")
tomwalters@423 19 results.setdefault(values[3],dict())
tomwalters@423 20 results[values[3]].setdefault(values[0], dict())
tomwalters@423 21 results[values[3]][values[0]].setdefault(values[1], dict())
tomwalters@424 22 results[values[3]][values[0]][values[1]].setdefault(int(values[4]), dict())
tomwalters@424 23 results[values[3]][values[0]][values[1]][int(values[4])].setdefault(int(values[5]), dict())
tomwalters@424 24 results[values[3]][values[0]][values[1]][int(values[4])][int(values[5])].setdefault(int(values[6]), dict())
tomwalters@423 25 if values[2] == 'clean':
tomwalters@424 26 snr = 50
tomwalters@423 27 else:
tomwalters@423 28 snr = int(values[2])
tomwalters@425 29 results[values[3]][values[0]][values[1]][int(values[4])][int(values[5])][int(values[6])][snr] = float(values[7])
tomwalters@423 30 # results[values[3]].append((values[1],values[2],values[2],values[4]))
tomwalters@423 31
tomwalters@423 32 ax = plt.subplot(111)
tomwalters@423 33
tomwalters@423 34 train_set = 'inner'
tomwalters@423 35 lines = []
tomwalters@423 36 labels = []
tomwalters@424 37 hmm_iterations = 2
tomwalters@424 38 hmm_states = 4
tomwalters@424 39 hmm_components = 4
tomwalters@423 40 for feature_type in ('mfcc', 'mfcc_vtln', 'aim'):
tomwalters@423 41 for feature_subtype in results[train_set][feature_type].keys():
tomwalters@424 42 this_line = results[train_set][feature_type][feature_subtype][hmm_states][hmm_components][hmm_iterations].items()
tomwalters@423 43 this_line.sort(cmp=lambda x,y: x[0] - y[0])
tomwalters@423 44 xs, ys = zip(*this_line)
tomwalters@423 45 xs = list(xs)
tomwalters@423 46 ys = list(ys)
tomwalters@423 47 line, = ax.plot(xs,ys,'-o',linewidth=2)
tomwalters@423 48 lines.append(line)
tomwalters@423 49 labels.append(feature_type + "_" + feature_subtype)
tomwalters@423 50 p.legend(lines, labels, 'upper left', shadow=True)
tomwalters@423 51 p.xlabel('SNR/dB')
tomwalters@423 52 p.ylabel('Recognition performance %')
tomwalters@425 53 plt.savefig(output_file)