This repository has been archived on 2021-05-17. You can view files and clone it, but cannot push or open issues or pull requests.
scientificComputing/projects/project_ficurves/solution/plotAverageResponse.m

47 lines
1.6 KiB
Matlab

function [] = plotAverageResponse(rates, time, contrasts, filename)
[sort_contrasts, sort_idx] = sort(contrasts);
figure
set(gcf, 'paperunits', 'centimeters', 'papersize', [20 20], ...
'paperposition', [0.0 0.0 20, 20], 'color', 'white')
axes = cell(size(sort_contrasts));
for i = 1:length(sort_contrasts)
subplot(ceil(length(sort_contrasts)/2), 2, i);
responses = rates{sort_idx(i)};
avg_response = mean(responses, 2)';
std_response = std(responses, [], 2)';
f = fill([time fliplr(time)], [avg_response + std_response fliplr(avg_response - std_response)], ...
'b', 'EdgeColor','none', 'displayname', 'std');
alpha(f, 0.25)
hold on
plot(time, avg_response, 'b', 'displayname', 'average response')
text(1.2, 500, sprintf('contrast: %i %', sort_contrasts(i)), ...
'fontsize', 9, 'FontWeight', 'bold')
xlim([time(1) time(end)])
ylim([0, 600])
set(gca, 'XTick', time(1):0.2:time(end), 'YTick', 0:200:600)
if mod(i,2) == 1
ylabel('firing rate [Hz]', 'fontsize', 11);
else
set(gca, 'yticklabels', []);
end
if i > length(sort_contrasts) - 2
xlabel('time [s]', 'fontsize', 11)
else
set(gca, 'xticklabels', []);
end
box('off')
axes{i} = gca();
if i == 1
l = legend('show');
l.FontSize = 9;
l.Box = 'off';
l.Orientation = 'horizontal';
l.Position = [0.25, 0.96, .5, 0.01];
end
end
axes{1}.Position = [axes{3}.Position(1) axes{2}.Position(2) ...
axes{2}.Position(3) axes{3}.Position(4)];
saveas(gcf, filename, 'pdf')