Club Elo
Matlab Code:
club0 = {‘barcelona’ ‘bayern’ ‘realmadrid’ ‘manunited’ ‘liverpool’,‘mancity’,‘inter’,‘juventus’};
ll = {‘Barcelona’,‘Bayern’,‘Real Madrid’,‘Man United’,‘Liverpool’,‘Man City’,‘Inter’,‘Juventus’};
start = ’01-Jan-2020′; D = ‘./’;
for i_club = 1:length(club0);club = club0{i_club};
url = sprintf(‘http://api.clubelo.com/%s’,club); %
filename = sprintf(‘%sdata%d.csv’,D,i_club); %
websave(filename, url);
end
S = dir(fullfile(D,‘data*.csv’)); datatotal = cell(1,length(club0));
for k = 1:numel(S)
F = fullfile(D,S(k).name);
datatotal{k} = readtable(F);
end
data_from = [];data_to = [];
for k = 1:numel(S)
data_from = [data_from; datatotal{k}.From]; data_to = [data_to; datatotal{k}.To];
end;
commonDate = (min(data_from):days(1):max(data_to));
start_index = find((commonDate == start)==1);
commonDates = commonDate(start_index:end);
data_interp = [];
for k = 1:numel(S)
data_interp_ = interp1(datatotal{k}.From, datatotal{k}.Elo, commonDates, ‘linear’, ‘extrap’);
data_interp = [data_interp; data_interp_];
end;
figure(1939); fignum = 1939;
for i_club = 1:length(club0); club = club0(i_club);
if i_club == 1; color_ = ‘#0000FF’; end;
if i_club == 2; color_ = ‘#FF00FF’; end;
if i_club == 3; color_ = ‘#00FFFF’; end;
if i_club == 4; color_ = ‘#FF0000’; end;
if i_club == 5; color_ = ‘#ffa700’; end;
if i_club == 6; color_ = ‘#00FF00’; end;
if i_club == 7; color_ = ‘#000000’; end;
if i_club == 8; color_ = ‘#ff8c8c’; end;
if i_club ~= length(club0);plot(commonDates, data_interp(i_club,:), ‘color’,sprintf(‘%s’,color_), ‘DisplayName’, sprintf(‘%s’,ll{i_club}), ‘LineWidth’, 1.5); hold on;end;
if i_club == length(club0);plot(commonDates, data_interp(i_club,:), ‘color’,sprintf(‘%s’,color_), ‘DisplayName’, sprintf(‘%s’,ll{i_club}), ‘LineWidth’, 1.5); hold off;end;
end
data_interp_temp = [];
for k = 1:numel(S)
data_interp_temp = [data_interp_temp data_interp(k,:)];
end;
yscale = min(data_interp_temp);
ymax = max(data_interp_temp);
yylim = {[yscale-44 ymax+44]}; ylim(yylim{1});
xlabel(‘Year’, ‘FontSize’, 12, ‘FontWeight’, ‘bold’); ylabel(‘Club Elo’, ‘FontSize’, 12, ‘FontWeight’, ‘bold’);
for k = 1:numel(S)
if k == 1; color_ = ‘#0000FF’; end;
if k == 2; color_ = ‘#FF00FF’; end;
if k == 3; color_ = ‘#00FFFF’; end;
if k == 4; color_ = ‘#FF0000’; end;
if k == 5; color_ = ‘#ffa700’; end;
if k == 6; color_ = ‘#00FF00’; end;
if k == 7; color_ = ‘#000000’; end;
if k == 8; color_ = ‘#ff8c8c’; end;
xline([commonDates(data_interp(k,:) == max(data_interp(k,:)))],‘–‘,{sprintf(‘%s = %.0f’,ll{k},max(data_interp(k,:)))},‘color’,sprintf(‘%s’,color_));
xline([commonDates(data_interp(k,:) == min(data_interp(k,:)))],‘–‘,{sprintf(‘%s = %.0f’,ll{k},min(data_interp(k,:)))},‘color’,sprintf(‘%s’,color_),‘LabelVerticalAlignment’, ‘bottom’);
end;
ax = gca;
ax.LineWidth = 1.5; %
ax.FontSize = 12; %
ax.FontWeight = ‘bold’; %
legend show; grid on; leg = legend(ll);
set(leg,‘Orientation’,‘horizontal’,‘NumColumns’,1, ‘Box’, 0,…
‘linewidth’,1.5,‘location’,‘northeast’,‘fontsize’,15);
if fignum == 1939
set(gcf,‘position’,[620 262 1400 798]);
end
%% %%%%%%%%%%%%%%%%%%%%%
% data is from:
% Lars Schiefler
% Ashford TN24, UK
%% %%%%%%%%%%%%%%%%%%%%%