%% gera_myndir.m — teiknar myndir greinarinnar þrjár (engir útreikningar)
% Les eingöngu nidurstodur/*.csv og skrifar PNG-skrár í myndir/:
%   mynd1_kaupmattur_afram_island.png   Mynd 1: mælikvarði Áfram Íslands, 2013-Q1 = 100
%   mynd2_kaupmattur_2007.png           Mynd 2: árslaun á launþega, 2007 = 100
%   mynd3_kaupmattur_2000.png           Mynd 3: sömu raðir, 2000 = 100
% Keyrt úr rót pakkans (R2022a eða nýrra).

rot = fileparts(mfilename('fullpath'));
nd = fullfile(rot, 'nidurstodur');
my = fullfile(rot, 'myndir');
if ~exist(my, 'dir'); mkdir(my); end

blar     = [0.18 0.43 0.71];   % Ísland
ljosblar = [0.50 0.70 0.90];   % Áfram Ísland (brotalína)
raudur   = [0.75 0 0];         % ESB
dokkur   = [0.10 0.17 0.29];   % Norðurlönd í ESB (mynd 1)
grar     = [0.35 0.35 0.35];   % Norðurlönd í ESB (myndir 2-3)

%% ---- Mynd 1: kaupmáttur launa samkvæmt mælikvarða Áfram Íslands ----
F = les(fullfile(nd, 'kaupmattur_fjordungar.csv'));
F.timabil = string(F.timabil);
t = double(extractBefore(F.timabil, 5)) + (double(extractAfter(F.timabil, 6)) - 1) / 4;

figure('Color', 'w', 'Position', [100 100 900 520]); hold on;
plot(t, F.island, '-', 'Color', blar, 'LineWidth', 2.2);
plot(t, F.esb, '-', 'Color', raudur, 'LineWidth', 1.8);
plot(t, F.nordurlond, '-', 'Color', dokkur, 'LineWidth', 1.8);
yline(100, '--', 'Color', [0.5 0.5 0.5]);
or_(t(end) + 0.7, 100, F.island(end), blar);
text(t(end) + 1.2, (100 + F.island(end)) / 2 + 12, sprintf('Áfram Ísland\n+68%%*'), ...
     'Color', blar, 'FontWeight', 'bold', 'EdgeColor', blar, 'BackgroundColor', 'w', 'Margin', 4);
or_(t(end) + 4.6, 100, F.esb(end), raudur);
text(t(end) + 5.1, F.esb(end) + 5, sprintf('ESB +%.0f%%', F.esb(end) - 100), ...
     'Color', raudur, 'FontWeight', 'bold', 'EdgeColor', raudur, 'BackgroundColor', 'w', 'Margin', 4);
or_(t(end) + 8.0, 100, F.nordurlond(end), dokkur);
text(t(end) + 8.5, F.nordurlond(end) - 5, sprintf('Norðurlönd í ESB +%.0f%%', F.nordurlond(end) - 100), ...
     'Color', dokkur, 'FontWeight', 'bold', 'EdgeColor', dokkur, 'BackgroundColor', 'w', 'Margin', 4);
legend({'Ísland', 'ESB', 'Norðurlönd í ESB'}, 'Location', 'northwest');
xlim([2013 2037.5]); ylim([93 180]); xticks(2013:2:2025);
ylabel('vísitala, 1. ársfj. 2013 = 100');
title({'Kaupmáttarvöxtur samkvæmt Áfram Íslandi síðustu ár', ...
       '„sama á hvaða mælikvarða er litið"'});
grid on; box on;
nmgr(['*Birt tala Áfram Íslands; endurgerð úr frumgögnum Eurostat gefur +67% ', ...
      'með ársfjórðungsmeðaltali verðlags. Norðurlönd í ESB: DK, SE og FI, ', ...
      'vegin með fjölda launþega. Heimild: Eurostat lc\_lci\_r2\_q og prc\_hicp\_midx.']);
exportgraphics(gcf, fullfile(my, 'mynd1_kaupmattur_afram_island.png'), 'Resolution', 200);
fprintf('mynd1_kaupmattur_afram_island.png tilbúin\n');

%% ---- Myndir 2 og 3: kaupmáttur árslauna á hvern launþega ----
for grunnar = [2007, 2000]
    V = les(fullfile(nd, sprintf('kaupmattur_%d.csv', grunnar)));
    figure('Color', 'w', 'Position', [100 100 900 520]); hold on;
    plot(V.ar, V.nordurlond, '-', 'Color', grar, 'LineWidth', 1.8);
    plot(V.ar, V.esb, '-', 'Color', raudur, 'LineWidth', 1.8);
    plot(V.ar, V.afram_island, '--', 'Color', ljosblar, 'LineWidth', 1.8);
    plot(V.ar, V.island, '-', 'Color', blar, 'LineWidth', 2.4);
    yline(100, '-', 'Color', [0.6 0.6 0.6]);
    i13 = V.ar == 2013;
    plot(2013, V.afram_island(i13), 'o', 'MarkerSize', 11, 'LineWidth', 2, ...
         'MarkerEdgeColor', raudur);
    if grunnar == 2007
        ylim([74 142]); xs = [1.2 5.2 10.4 14.0]; xhamark = 16.2;
        text(2013.4, V.afram_island(i13) - 0.05 * diff(ylim), ...
             'upphaf úrtaks Áfram Íslands (2013)', 'Color', raudur, 'FontSize', 8);
        % ör Áfram Íslands spannar þeirra eigið úrtak (2013-2025) og ber
        % birtu töluna +68%
        or_(2025 + xs(1), V.afram_island(i13), V.afram_island(end), ljosblar);
        merki = sprintf('Áfram Ísland\n+68%%*');
    else
        ylim([88 max(V.afram_island) + 18]); xs = [1.2 6.4 11.6 16.4]; xhamark = 19;
        text(2014.3, 93, 'upphaf úrtaks Áfram Íslands (2013)', 'Color', raudur, ...
             'FontSize', 8);
        plot([2013.2 2014.6], [V.afram_island(i13) - 1.5, 94.5], '-', ...
             'Color', raudur, 'LineWidth', 0.8);
        % mælikvarði Áfram Íslands framlengdur til aldamóta: +98% frá 2000
        or_(2025 + xs(1), 100, V.afram_island(end), ljosblar);
        merki = sprintf('Áfram Ísland\n+%.0f%%*', V.afram_island(end) - 100);
    end
    text(2025 + xs(1) + 0.8, V.afram_island(end) - 0.06 * diff(ylim), merki, ...
         'Color', blar, 'FontWeight', 'bold', 'EdgeColor', ljosblar, 'BackgroundColor', 'w', 'Margin', 4);
    or_(2025 + xs(2), 100, V.nordurlond(end), grar);
    text(2025 + xs(2) + 0.6, V.nordurlond(end) + 0.07 * diff(ylim), ...
         sprintf('Norðurlönd\ní ESB +%.0f%%', V.nordurlond(end) - 100), ...
         'Color', grar, 'FontWeight', 'bold', 'EdgeColor', grar, 'BackgroundColor', 'w', 'Margin', 4);
    or_(2025 + xs(3), 100, V.esb(end), raudur);
    text(2025 + xs(3) + 0.6, V.esb(end) + 0.07 * diff(ylim), sprintf('ESB\n+%.0f%%', V.esb(end) - 100), ...
         'Color', raudur, 'FontWeight', 'bold', 'EdgeColor', raudur, 'BackgroundColor', 'w', 'Margin', 4);
    or_(2025 + xs(4), 100, V.island(end), blar);
    text(2025 + xs(4) + 0.6, V.island(end) + 0.07 * diff(ylim), sprintf('Ísland\n+%.0f%%', V.island(end) - 100), ...
         'Color', blar, 'FontWeight', 'bold', 'EdgeColor', blar, 'BackgroundColor', 'w', 'Margin', 4);
    legend({'Norðurlönd í ESB', 'ESB', 'Áfram Ísland', 'Ísland'}, 'Location', 'northwest');
    xlim([grunnar, 2025 + xhamark]);
    if grunnar == 2007; xticks(2007:2:2025); else; xticks(2000:5:2025); end
    ylabel(sprintf('vísitala, %d = 100', grunnar));
    grid on; box on;
    if grunnar == 2007
        title('Kaupmáttur á Íslandi frá hruni samkvæmt öðrum mælikvarða');
        nmgr(['*+68% er birt tala Áfram Íslands (LCI/SVN, 2013-2025); árleg nálgun ', ...
              'þjóðhagsreikninga á sama tímabili: +63%. Öll lönd: laun á launþega m.v. ', ...
              'einkaneysluverðvísitölu þjóðhagsreikninga (þ.m.t. reiknuð ', ...
              'húsnæðisþjónusta eigenda); vísitala ', ...
              'neysluverðs gæfi Íslandi +6%. Norðurlönd í ESB: DK, SE, FI, vegin með ', ...
              'fjölda launþega.']);
    else
        title('Kaupmáttur á Íslandi frá aldamótum samkvæmt öðrum mælikvarða');
        nmgr(['*Mælikvarði Áfram Íslands (laun á vinnustund m.v. HICP), framlengdur ', ...
              'til aldamóta (2000 = 100); birt tala 2013-2025 er +68%. Öll lönd: laun á ', ...
              'launþega m.v. einkaneysluverðvísitölu þjóðhagsreikninga (þ.m.t. reiknuð ', ...
              'húsnæðisþjónusta eigenda); ', ...
              'vísitala neysluverðs gæfi Íslandi +26%. Norðurlönd í ESB: DK, SE, FI, ', ...
              'vegin með fjölda launþega.']);
    end
    exportgraphics(gcf, fullfile(my, sprintf('mynd%d_kaupmattur_%d.png', ...
        2 + (grunnar == 2000), grunnar)), 'Resolution', 200);
    fprintf('mynd%d_kaupmattur_%d.png tilbúin\n', 2 + (grunnar == 2000), grunnar);
end
close all;

%% ================= Hjálparföll =================
function T = les(skra)
    T = readtable(skra, 'FileType', 'text', 'Delimiter', ';', ...
        'VariableNamingRule', 'preserve', 'Encoding', 'UTF-8');
end

function or_(x, fra, til, litur)                  % lóðrétt ör, sbr. framsetningu glærunnar
    plot([x x], [fra til], '-', 'Color', litur, 'LineWidth', 1.6);
    plot(x, til, '^', 'MarkerFaceColor', litur, 'MarkerEdgeColor', litur);
end

function nmgr(texti)                              % neðanmálsgrein myndar
    annotation('textbox', [0.01 0.002 0.98 0.05], 'String', texti, ...
        'EdgeColor', 'none', 'FontSize', 7, 'Color', [0.4 0.4 0.4]);
end
