annotate scripts/score_individual.py @ 1040:aef4cbbd66d1

Small fix to loading checks array
author Nicholas Jillings <nicholas.jillings@eecs.qmul.ac.uk>
date Fri, 19 Jun 2015 16:41:33 +0100
parents a049c6cf7eb3
children
rev   line source
BrechtDeMan@929 1 import sys
BrechtDeMan@929 2 import os
BrechtDeMan@929 3 import csv
BrechtDeMan@929 4 import matplotlib.pyplot as plt
BrechtDeMan@929 5
BrechtDeMan@929 6 rating_folder = 'ratings/' # folder with rating csv files
BrechtDeMan@929 7
BrechtDeMan@929 8 colormap = ['b', 'r', 'g', 'c', 'm', 'y', 'k'] # colormap for to cycle through
BrechtDeMan@929 9 markerlist = ["x", ".", "o", "*", "+", "v", ">", "<", "8", "s", "p"]
BrechtDeMan@929 10
BrechtDeMan@1030 11 show_legend = False
BrechtDeMan@1030 12
BrechtDeMan@929 13 # get every csv file in folder
BrechtDeMan@1025 14 for file in os.listdir(rating_folder):
BrechtDeMan@929 15 if file.endswith(".csv"):
BrechtDeMan@1030 16
BrechtDeMan@929 17 page_name = file[:-4] # file name (without extension) is page ID
BrechtDeMan@929 18
BrechtDeMan@929 19 with open(rating_folder+file, 'r') as readfile: # read this csv file
BrechtDeMan@929 20 filereader = csv.reader(readfile, delimiter=',')
BrechtDeMan@929 21 headerrow = filereader.next() # use headerrow as X-axis
BrechtDeMan@929 22 headerrow = headerrow[1:]
BrechtDeMan@929 23
BrechtDeMan@929 24
BrechtDeMan@929 25 increment = 0
BrechtDeMan@929 26 linehandles = []
BrechtDeMan@929 27 legendnames = []
BrechtDeMan@929 28 for row in filereader:
BrechtDeMan@929 29 subject_id = row[0][:-4]
BrechtDeMan@929 30 plothandle, = plt.plot(range(1,len(row)), # x-values
BrechtDeMan@929 31 row[1:], # y-values: csv values except subject name
BrechtDeMan@929 32 color=colormap[increment%len(colormap)],
BrechtDeMan@929 33 marker=markerlist[increment%len(markerlist)],
BrechtDeMan@929 34 markersize=10,
BrechtDeMan@929 35 linestyle='None',
BrechtDeMan@929 36 label=subject_id
BrechtDeMan@929 37 )
BrechtDeMan@929 38 increment += 1 # increase counter
BrechtDeMan@929 39 linehandles.append(plothandle)
BrechtDeMan@1030 40 legendnames.append(subject_id.decode("utf-8")) # avoid decoding problems
BrechtDeMan@929 41
BrechtDeMan@929 42
BrechtDeMan@929 43 plt.xlabel('Fragment')
BrechtDeMan@929 44 plt.title('Individual ratings '+page_name)
BrechtDeMan@929 45 plt.xlim(0, len(headerrow)+1) # only show relevant region, leave space left & right)
BrechtDeMan@929 46 plt.xticks(range(1, len(headerrow)+1), headerrow) # show fragment names
BrechtDeMan@929 47
BrechtDeMan@929 48 plt.ylabel('Rating')
BrechtDeMan@929 49 plt.ylim(0,1)
BrechtDeMan@929 50
BrechtDeMan@1030 51 if show_legend:
BrechtDeMan@1030 52 plt.legend(linehandles, legendnames,
BrechtDeMan@1030 53 loc='upper right',
BrechtDeMan@1030 54 bbox_to_anchor=(1.1, 1),
BrechtDeMan@1030 55 borderaxespad=0.,
BrechtDeMan@1030 56 numpoints=1 # remove extra marker
BrechtDeMan@1030 57 )
BrechtDeMan@929 58
BrechtDeMan@929 59 #TODO Put legend outside of box
BrechtDeMan@929 60
BrechtDeMan@1025 61 #plt.show() # show plot
BrechtDeMan@929 62 #exit()
BrechtDeMan@1030 63
BrechtDeMan@1025 64 plt.savefig(rating_folder+page_name+"-ind.png")
BrechtDeMan@1030 65 plt.close()