Mercurial > hg > do-we-sing-like-we-speak
view plotData.m @ 3:475bddaf580c tip
Add report and Presentation
author | Dave Moffat <d.j.moffat@qmul.ac.uk> |
---|---|
date | Wed, 25 Feb 2015 16:07:05 +0000 |
parents | 26494c0d9ffd |
children |
line wrap: on
line source
function plotData(smFactor, normFact, quest, inton, individuals, meanPlot) %% % Written by Dave Moffat Jan 2015 % plotData reads in all csv files from attached dataset and analyses the % data to produce and save a range of plots based on imput values % smFactor: Smoothing factor used to smooth initial noisy data (50) % normFact: Boolean Flag as whether to normalise time and frequency % axes of data (1) % quest: Specific question types, eg: 'YN', Wh', 'all' % inton: Specific intonation tyoes, eg: 'RF', 'F', 'FR', 'R', 'H' % individuals: Boolean flag to plot all individual intonation patterns % meanPlot: Boolean flag to plot mean for intonation patterns trackData = readCSV('DataSetSummary.csv'); trackRange = size(trackData,1); plotCol = ['b','k','y','m','c','r','g']; plotCol = ['k','k']; colIndex = 1; figure; if(meanPlot) zerosPlot = [0:0.1:1]; totalF = zeros(1,length(zerosPlot)); end if(~individuals) hold on; end qList = findInCellArray(trackData,5,quest); if(isempty(qList)) qList = [1:trackRange]; end iList = findInCellArray(trackData,6,inton); if(isempty(iList)) iList = [1:trackRange]; end trackSearch = intersect(qList, iList); noTracks = length(trackSearch); for i = trackSearch i songTrack = csvread(strcat('T',num2str(i),'/01m.csv')); songTrack = songTrack(:,1:2); if(normFact) % Vertical songTrack(:,2) = songTrack(:,2) - min(songTrack(:,2)); songTrack(:,2) = songTrack(:,2) / max(songTrack(:,2)); % Horizontal songTrack(:,1) = songTrack(:,1) - min(songTrack(:,1)); songTrack(:,1) = songTrack(:,1) / max(songTrack(:,1)); end if(smFactor > 0) songTrack(:,2) = smooth(songTrack(:,2),smFactor); end plot(songTrack(:,1),songTrack(:,2),plotCol(mod(colIndex,length(plotCol))+1)); if(individuals) xlabel('Normalised Time'); ylabel('Normalised Frequency'); plotTitle =strcat('Question ',num2str(i),' Data Plot'); title(plotTitle); saveas(gcf,strcat('plots/plot',num2str(i)),'jpg'); else colIndex = colIndex +1; end if(meanPlot) if(isnan(songTrack(:,1))) noTracks = noTracks - 1; else songTrack(:,1); totalF = totalF + interp1(songTrack(:,1),songTrack(:,2),zerosPlot); end end end % if(~individuals) % xlabel('Normalised Time'); % ylabel('Normalised Frequency'); % plotTitle = strcat('plots/Questions:',quest,'-Intonation:',inton,' plot'); % title(plotTitle); % filename = strcat(quest,'Q-',inton,'I'); % saveas(gcf,filename,'jpg'); % end if(meanPlot) totalF = totalF / length(trackSearch); % figure; plot(zerosPlot,totalF,'LineWidth',2); xlabel('Normalised Time'); ylabel('Normalised Frequency'); plotTitle = strcat('plots/Questions:',quest,'-Intonation:',inton,' All Intonations and Mean plot'); % title(plotTitle); filename = strcat(quest,'Q-',inton,'-IMean-ALL'); saveas(gcf,filename,'pdf'); end end