Mercurial > hg > webaudioevaluationtool
changeset 2486:a6820a146469
generate_report: box plots ordered by name; duration in function of page order plot; some LaTeX fixes.
author | Brecht De Man <b.deman@qmul.ac.uk> |
---|---|
date | Mon, 08 Aug 2016 11:37:57 +0200 |
parents | f9bb57550f0d |
children | b0ef31a58ec5 |
files | python/generate_report.py |
diffstat | 1 files changed, 44 insertions(+), 42 deletions(-) [+] |
line wrap: on
line diff
--- a/python/generate_report.py Mon Aug 08 11:03:07 2016 +0200 +++ b/python/generate_report.py Mon Aug 08 11:37:57 2016 +0200 @@ -81,10 +81,11 @@ \usepackage{geometry} \geometry{a4paper} \usepackage[parfill]{parskip} % empty line instead of indent - \usepackage{graphicx} % figures - \usepackage[space]{grffile} % include figures with spaces in paths + \usepackage{graphicx} % figures + \usepackage[space]{grffile} % include figures with spaces in paths \usepackage{hyperref} - \usepackage{tikz} % pie charts + \usepackage{tikz} % pie charts + \usepackage{float} % place figures 'here' \title{Report} \author{'''+\ user+\ @@ -102,7 +103,7 @@ ''' -footer = '\n\t\t'+r'''\begin{thebibliography}{9} +footer = '\n\t\t'+r'''\begin{thebibliography}{1} \bibitem{WAET} % reference to accompanying publication Nicholas Jillings, Brecht De Man, David Moffat and Joshua D. Reiss, ``Web Audio Evaluation Tool: A browser-based listening test environment,'' @@ -151,7 +152,7 @@ body = '\n\section{'+day+' '+month_array[int(month)]+' '+year+' '+hour+':'+minute+':'+second+'}\n' # file name - body += '\n'+file[:-4]+'\n \\\\' + body += '\t\t'+file[:-4]+'\\\\ \n' # reset for new subject total_duration = 0 @@ -313,7 +314,7 @@ ''' # PRINT timeline plots - body += timeline_plots + body += timeline_plots+'\n' body_array.append(body) @@ -343,10 +344,10 @@ body += r'Number of unmoved markers: &' + str(total_not_moved) +\ " (" + str(round(100.0*total_not_moved/number_of_fragments,2)) + r"\%)\\"+'\n\t\t\t' body += r'Average time per page: &' + seconds2timestr(time_per_page_accum/number_of_pages) + r"\\"+'\n\t\t' -body += '\\end{tabular} \\vspace{1.5cm} \\\\ \n' +body += '\\end{tabular} \\\\ \n' # Average duration for first, second, ... page -body += "\n\n\t\t\\subsection*{Average duration per page}\n See also Figure \\ref{fig:avgtimeperpage}. \\\\ \n\t\t" +body += "\n\n\t\t\\subsection*{Average duration per ordered page}\n See also Figure \\ref{fig:avgtimeperorder}. \\\\ \n\t\t" body += r'''\begin{tabular}{lll} \textbf{Page} & \textbf{Duration} & \textbf{\# subjects}\\''' tpp_averages = [] # store average time per page @@ -364,7 +365,7 @@ plt.xlim(.8, len(duration_order)+1) plt.xticks(np.arange(1,len(duration_order)+1)+.4, range(1,len(duration_order)+1)) plt.ylabel('Average time [minutes]') -plt.savefig(folder_name+"time_per_page.pdf", bbox_inches='tight') +plt.savefig(folder_name+"time_per_order.pdf", bbox_inches='tight') plt.close() #TODO add error bars @@ -383,7 +384,8 @@ combined_list = sorted(zip(*combined_list), key=operator.itemgetter(1, 2)) # sort # Show average duration for all songs -body += '\n\n\t\t'+r'''\subsection*{Average duration per page}\n See also Figure \\ref{fig:avgtimeperpage}. +body += '\n\n\t\t'+r'''\subsection*{Average duration per page} + See also Figure \ref{fig:avgtimeperpage}. \\ \begin{tabular}{llll} \textbf{Audioholder} & \textbf{Duration} & \textbf{\# subjects} & \textbf{\# fragments} \\''' page_names_ordered = [] @@ -423,59 +425,59 @@ # SHOW both figures body += r''' - \begin{figure}[htbp] - \begin{center} - \includegraphics[width=.65\textwidth]{'''+\ - folder_name+'time_per_page.pdf'+\ + \begin{figure}[htbp] + \begin{center} + \includegraphics[width=.65\textwidth]{'''+\ + folder_name+'time_per_order.pdf'+\ r'''} - \caption{Average time spent per page.} - \label{fig:avgtimeperpage} - \end{center} - \end{figure} + \caption{Average time spent per page (order).} + \label{fig:avgtimeperorder} + \end{center} + \end{figure} ''' body += r'''\begin{figure}[htbp] - \begin{center} - \includegraphics[width=.65\textwidth]{'''+\ + \begin{center} + \includegraphics[width=.65\textwidth]{'''+\ folder_name+'time_per_page.pdf'+\ r'''} - \caption{Average time spent per page.} + \caption{Average time spent per page (content).} \label{fig:avgtimeperpage} - \end{center} - \end{figure} + \end{center} + \end{figure} ''' body += r'''\begin{figure}[htbp] - \begin{center} - \includegraphics[width=.65\textwidth]{'''+\ + \begin{center} + \includegraphics[width=.65\textwidth]{'''+\ folder_name+'subjects_per_page.pdf'+\ r'''} \caption{Number of subjects per page.} \label{fig:subjectsperpage} - \end{center} - \end{figure} + \end{center} + \end{figure} ''' #TODO add error bars #TODO layout of figures -# SHOW boxplot per page -#TODO order in decreasing order of participants -for page_name in page_names: # get each name +# SHOW boxplot per page (in alphabetical order of page name) +body += '\t\t\\clearpage \n\t\\subsection*{Ratings per page}\n' +for page_name in sorted(page_names): # get each name # plot boxplot if exists (not so for the 'alt' names) if os.path.isfile(folder_name+'ratings/'+page_name+'-ratings-box.pdf'): - body += r'''\begin{figure}[htbp] - \begin{center} - \includegraphics[width=.65\textwidth]{'''+\ - folder_name+"ratings/"+page_name+'-ratings-box.pdf'+\ - r'''} - \caption{Box plot of ratings for page '''+\ - page_name+' ('+str(subject_count[real_page_names.index(page_name)])+\ - ''' participants).} - \label{fig:boxplot'''+page_name.replace(" ", "")+'''} - \end{center} - \end{figure} - + body += r'''\begin{figure}[H] + \begin{center} + \includegraphics[width=.65\textwidth]{'''+\ + folder_name+"ratings/"+page_name+'-ratings-box.pdf'+\ + r'''} + \caption{Box plot of ratings for page '''+\ + page_name+' ('+str(subject_count[real_page_names.index(page_name)])+\ + ''' participants).} + \label{fig:boxplot'''+page_name.replace(" ", "")+'''} + \end{center} + \end{figure} + ''' # DEMO pie chart of gender distribution among subjects