bsp_4_1_2a.m

% Beispiel für Kap 4.1.2a
% Beispiel Bundestagswahl 2013, Häufigkeitstabelle
file = '../daten/wahl2013.xlsx';
[wahl, wahlText] = xlsread(file);
wahlText = wahlText(3,:);

h = wahl(5:end);
a = string(wahlText(5:end));

n = sum(h);    % = wahl(4), gültige Stimmen
f = h/n;

% sortieren
[fS, idx] = sort(f, 'descend');
aS = a(idx);
nL = find(fS >= 0.01, 1, 'last');   % alle bis 1% 
aS = aS(1:nL);
fS = fS(1:nL);

% Klassenbildung
% CDU, CSU zusammenfassen, einfach per Hand
aS(1) = "CDU/CSU";
fS(1) = fS(1) + fS(5);
aS(5:end-1) = aS(6:end); 
fS(5:end-1) = fS(6:end); 

% sonstige
aS(end) = "Sonstige";
fS(end) = 1 - sum(fS(1:end-1));

% tabelle ausgeben
fprintf('%10s', aS);
fprintf('\n');
fprintf('%10.2f', 100*fS);
fprintf('\n');

% Plotten
figure('Position',[1 1 600 400], 'Color',[1 1 1]);

% bar graph
bar(100*fS);
set(gca(), 'XTickLabel', aS);
ylabel('Stimmenanteil [%]');

% stem graph
figure
stem(100*fS);
set(gca(),'XTick', 1:9, 'XTickLabel', aS);
xlim([0,10])
ylabel('Stimmenanteil [%]');

% pie graph, umsortiert
figure
set(gcf(), 'Position',[1 1 400 400]);
[aS, idx] = sort(aS);
pie(100*fS(idx), cellstr(aS));