Code covered by the BSD License  

Highlights from
MATLAB Contest Statistics

image thumbnail
from MATLAB Contest Statistics by Matthew Simoneau
The code used to generate the "Statistics" page for the MATLABĀ® Contest.

percentImprovement(leaders)
function percentImprovement(leaders)

x = [leaders.date];
y = [leaders.percentImprovement];
plot(x,y,'x')

box on
datetick
xlabel('submission time')
ylabel('percent improvement over previous leader  ')
set(gca,'YScale','log')
title('Percent Improvement')

% Find positions of all potential labels.
t = text(x(2),y(2),'foo');
xpos = zeros(size(x));
for i = 1:length(x)
    set(t,'Units','data','position',[x(i) y(i)]);
    set(t,'Units','pixels');
    pos = get(t,'position');
    xpos(i) = pos(1);
end
delete(t)

% Label biggest improvement to smallest, skipping where it's already
% crowded in x-space.
toLabel = false(size(x));
toCheck = false(size(x));
[null,ind] = sort(y,'descend');
textHeight = 15;
for i = 1:length(ind)
    next = ind(i);
    if min([abs(xpos(next)-xpos(toCheck)) Inf]) > textHeight/2
        toLabel(next) = true;

        line(leaders(next).date,leaders(next).percentImprovement,'Marker','x','Color','red')
        text(leaders(next).date,leaders(next).percentImprovement,['  ' leaders(next).author], ...
            'HorizontalAlignment','left','VerticalAlignment','middle', ...
            'Rotation',90)
    end
    toCheck(next) = true;
end

Contact us at files@mathworks.com