diff --git a/analysis/matlab/variations/naive_boxa_d6_13/learning_curve.png b/analysis/matlab/variations/naive_boxa_d6_13/learning_curve.png index 2be1a17..fffdbdb 100644 Binary files a/analysis/matlab/variations/naive_boxa_d6_13/learning_curve.png and b/analysis/matlab/variations/naive_boxa_d6_13/learning_curve.png differ diff --git a/analysis/matlab/variations/naive_boxa_d6_13/learning_curve_rate.png b/analysis/matlab/variations/naive_boxa_d6_13/learning_curve_rate.png index 47f3fd5..731d8c6 100644 Binary files a/analysis/matlab/variations/naive_boxa_d6_13/learning_curve_rate.png and b/analysis/matlab/variations/naive_boxa_d6_13/learning_curve_rate.png differ diff --git a/analysis/matlab/variations/naive_boxa_d6_13/plotcurve.m b/analysis/matlab/variations/naive_boxa_d6_13/plotcurve.m index 8fb7f44..8399de2 100644 --- a/analysis/matlab/variations/naive_boxa_d6_13/plotcurve.m +++ b/analysis/matlab/variations/naive_boxa_d6_13/plotcurve.m @@ -38,9 +38,22 @@ legend([e1 e2], {sprintf('anodal, N = %d', na), sprintf('control, N = %d', nc)}, 'Location', 'northwest', 'Box', 'off'); xlabel('training day'); ylabel(ylab); title(vname, 'Interpreter', 'none'); -set(gca, 'XTick', xd, 'XTickLabelRotation', 90, ... % vertical x-axis tick labels +% Vertical x-axis tick labels. XTickLabelRotation / xtickangle are NOT honored +% by exportgraphics on a headless invisible figure, so draw the labels manually +% as rotated text objects (which always render). +set(gca, 'XTick', xd, 'XTickLabel', {}, 'Position', [0.13 0.20 0.80 0.70], ... 'FontName', 'Arial', 'FontSize', 13, 'LineWidth', 1.5, 'Box', 'off'); -drawnow; % force layout so the rotation is applied headless +drawnow; +yl = ylim(gca); +yb = yl(1) - 0.015 * (yl(2) - yl(1)); +for k = 1:numel(xd) + text(xd(k), yb, num2str(xd(k)), 'Parent', gca, 'Rotation', 90, ... + 'HorizontalAlignment', 'right', 'VerticalAlignment', 'middle', ... + 'FontName', 'Arial', 'FontSize', 13, 'Clipping', 'off'); +end +xlh = get(gca, 'XLabel'); % push the axis label below the vertical ticks +set(xlh, 'Units', 'normalized', 'Position', [0.5 -0.15 0]); +drawnow; exportgraphics(fig, outFile, 'Resolution', 150); close(fig); fprintf('%s: wrote %s (anodal N=%d, control N=%d)\n', vname, outFile, na, nc); diff --git a/analysis/matlab/variations/prev_f_full/learning_curve.png b/analysis/matlab/variations/prev_f_full/learning_curve.png index b4bed5f..7984fd6 100644 Binary files a/analysis/matlab/variations/prev_f_full/learning_curve.png and b/analysis/matlab/variations/prev_f_full/learning_curve.png differ diff --git a/analysis/matlab/variations/prev_f_full/learning_curve_rate.png b/analysis/matlab/variations/prev_f_full/learning_curve_rate.png index a92839b..e6dfbb4 100644 Binary files a/analysis/matlab/variations/prev_f_full/learning_curve_rate.png and b/analysis/matlab/variations/prev_f_full/learning_curve_rate.png differ diff --git a/analysis/matlab/variations/prev_f_full/plotcurve.m b/analysis/matlab/variations/prev_f_full/plotcurve.m index 8fb7f44..8399de2 100644 --- a/analysis/matlab/variations/prev_f_full/plotcurve.m +++ b/analysis/matlab/variations/prev_f_full/plotcurve.m @@ -38,9 +38,22 @@ legend([e1 e2], {sprintf('anodal, N = %d', na), sprintf('control, N = %d', nc)}, 'Location', 'northwest', 'Box', 'off'); xlabel('training day'); ylabel(ylab); title(vname, 'Interpreter', 'none'); -set(gca, 'XTick', xd, 'XTickLabelRotation', 90, ... % vertical x-axis tick labels +% Vertical x-axis tick labels. XTickLabelRotation / xtickangle are NOT honored +% by exportgraphics on a headless invisible figure, so draw the labels manually +% as rotated text objects (which always render). +set(gca, 'XTick', xd, 'XTickLabel', {}, 'Position', [0.13 0.20 0.80 0.70], ... 'FontName', 'Arial', 'FontSize', 13, 'LineWidth', 1.5, 'Box', 'off'); -drawnow; % force layout so the rotation is applied headless +drawnow; +yl = ylim(gca); +yb = yl(1) - 0.015 * (yl(2) - yl(1)); +for k = 1:numel(xd) + text(xd(k), yb, num2str(xd(k)), 'Parent', gca, 'Rotation', 90, ... + 'HorizontalAlignment', 'right', 'VerticalAlignment', 'middle', ... + 'FontName', 'Arial', 'FontSize', 13, 'Clipping', 'off'); +end +xlh = get(gca, 'XLabel'); % push the axis label below the vertical ticks +set(xlh, 'Units', 'normalized', 'Position', [0.5 -0.15 0]); +drawnow; exportgraphics(fig, outFile, 'Resolution', 150); close(fig); fprintf('%s: wrote %s (anodal N=%d, control N=%d)\n', vname, outFile, na, nc); diff --git a/analysis/matlab/variations/right_only_d0_10/learning_curve.png b/analysis/matlab/variations/right_only_d0_10/learning_curve.png index 7664c2a..9fc0f38 100644 Binary files a/analysis/matlab/variations/right_only_d0_10/learning_curve.png and b/analysis/matlab/variations/right_only_d0_10/learning_curve.png differ diff --git a/analysis/matlab/variations/right_only_d0_10/learning_curve_rate.png b/analysis/matlab/variations/right_only_d0_10/learning_curve_rate.png index 7070a62..6d7fcee 100644 Binary files a/analysis/matlab/variations/right_only_d0_10/learning_curve_rate.png and b/analysis/matlab/variations/right_only_d0_10/learning_curve_rate.png differ diff --git a/analysis/matlab/variations/right_only_d0_10/plotcurve.m b/analysis/matlab/variations/right_only_d0_10/plotcurve.m index 8fb7f44..8399de2 100644 --- a/analysis/matlab/variations/right_only_d0_10/plotcurve.m +++ b/analysis/matlab/variations/right_only_d0_10/plotcurve.m @@ -38,9 +38,22 @@ legend([e1 e2], {sprintf('anodal, N = %d', na), sprintf('control, N = %d', nc)}, 'Location', 'northwest', 'Box', 'off'); xlabel('training day'); ylabel(ylab); title(vname, 'Interpreter', 'none'); -set(gca, 'XTick', xd, 'XTickLabelRotation', 90, ... % vertical x-axis tick labels +% Vertical x-axis tick labels. XTickLabelRotation / xtickangle are NOT honored +% by exportgraphics on a headless invisible figure, so draw the labels manually +% as rotated text objects (which always render). +set(gca, 'XTick', xd, 'XTickLabel', {}, 'Position', [0.13 0.20 0.80 0.70], ... 'FontName', 'Arial', 'FontSize', 13, 'LineWidth', 1.5, 'Box', 'off'); -drawnow; % force layout so the rotation is applied headless +drawnow; +yl = ylim(gca); +yb = yl(1) - 0.015 * (yl(2) - yl(1)); +for k = 1:numel(xd) + text(xd(k), yb, num2str(xd(k)), 'Parent', gca, 'Rotation', 90, ... + 'HorizontalAlignment', 'right', 'VerticalAlignment', 'middle', ... + 'FontName', 'Arial', 'FontSize', 13, 'Clipping', 'off'); +end +xlh = get(gca, 'XLabel'); % push the axis label below the vertical ticks +set(xlh, 'Units', 'normalized', 'Position', [0.5 -0.15 0]); +drawnow; exportgraphics(fig, outFile, 'Resolution', 150); close(fig); fprintf('%s: wrote %s (anodal N=%d, control N=%d)\n', vname, outFile, na, nc); diff --git a/analysis/matlab/variations/right_only_d0_13/learning_curve.png b/analysis/matlab/variations/right_only_d0_13/learning_curve.png index 01c5ad9..cad7731 100644 Binary files a/analysis/matlab/variations/right_only_d0_13/learning_curve.png and b/analysis/matlab/variations/right_only_d0_13/learning_curve.png differ diff --git a/analysis/matlab/variations/right_only_d0_13/learning_curve_rate.png b/analysis/matlab/variations/right_only_d0_13/learning_curve_rate.png index 602165e..cf29825 100644 Binary files a/analysis/matlab/variations/right_only_d0_13/learning_curve_rate.png and b/analysis/matlab/variations/right_only_d0_13/learning_curve_rate.png differ diff --git a/analysis/matlab/variations/right_only_d0_13/plotcurve.m b/analysis/matlab/variations/right_only_d0_13/plotcurve.m index 8fb7f44..8399de2 100644 --- a/analysis/matlab/variations/right_only_d0_13/plotcurve.m +++ b/analysis/matlab/variations/right_only_d0_13/plotcurve.m @@ -38,9 +38,22 @@ legend([e1 e2], {sprintf('anodal, N = %d', na), sprintf('control, N = %d', nc)}, 'Location', 'northwest', 'Box', 'off'); xlabel('training day'); ylabel(ylab); title(vname, 'Interpreter', 'none'); -set(gca, 'XTick', xd, 'XTickLabelRotation', 90, ... % vertical x-axis tick labels +% Vertical x-axis tick labels. XTickLabelRotation / xtickangle are NOT honored +% by exportgraphics on a headless invisible figure, so draw the labels manually +% as rotated text objects (which always render). +set(gca, 'XTick', xd, 'XTickLabel', {}, 'Position', [0.13 0.20 0.80 0.70], ... 'FontName', 'Arial', 'FontSize', 13, 'LineWidth', 1.5, 'Box', 'off'); -drawnow; % force layout so the rotation is applied headless +drawnow; +yl = ylim(gca); +yb = yl(1) - 0.015 * (yl(2) - yl(1)); +for k = 1:numel(xd) + text(xd(k), yb, num2str(xd(k)), 'Parent', gca, 'Rotation', 90, ... + 'HorizontalAlignment', 'right', 'VerticalAlignment', 'middle', ... + 'FontName', 'Arial', 'FontSize', 13, 'Clipping', 'off'); +end +xlh = get(gca, 'XLabel'); % push the axis label below the vertical ticks +set(xlh, 'Units', 'normalized', 'Position', [0.5 -0.15 0]); +drawnow; exportgraphics(fig, outFile, 'Resolution', 150); close(fig); fprintf('%s: wrote %s (anodal N=%d, control N=%d)\n', vname, outFile, na, nc); diff --git a/analysis/matlab/variations/right_only_d0_5/learning_curve.png b/analysis/matlab/variations/right_only_d0_5/learning_curve.png index f734280..9e95691 100644 Binary files a/analysis/matlab/variations/right_only_d0_5/learning_curve.png and b/analysis/matlab/variations/right_only_d0_5/learning_curve.png differ diff --git a/analysis/matlab/variations/right_only_d0_5/learning_curve_rate.png b/analysis/matlab/variations/right_only_d0_5/learning_curve_rate.png index 0f4989c..cd6772a 100644 Binary files a/analysis/matlab/variations/right_only_d0_5/learning_curve_rate.png and b/analysis/matlab/variations/right_only_d0_5/learning_curve_rate.png differ diff --git a/analysis/matlab/variations/right_only_d0_5/plotcurve.m b/analysis/matlab/variations/right_only_d0_5/plotcurve.m index 8fb7f44..8399de2 100644 --- a/analysis/matlab/variations/right_only_d0_5/plotcurve.m +++ b/analysis/matlab/variations/right_only_d0_5/plotcurve.m @@ -38,9 +38,22 @@ legend([e1 e2], {sprintf('anodal, N = %d', na), sprintf('control, N = %d', nc)}, 'Location', 'northwest', 'Box', 'off'); xlabel('training day'); ylabel(ylab); title(vname, 'Interpreter', 'none'); -set(gca, 'XTick', xd, 'XTickLabelRotation', 90, ... % vertical x-axis tick labels +% Vertical x-axis tick labels. XTickLabelRotation / xtickangle are NOT honored +% by exportgraphics on a headless invisible figure, so draw the labels manually +% as rotated text objects (which always render). +set(gca, 'XTick', xd, 'XTickLabel', {}, 'Position', [0.13 0.20 0.80 0.70], ... 'FontName', 'Arial', 'FontSize', 13, 'LineWidth', 1.5, 'Box', 'off'); -drawnow; % force layout so the rotation is applied headless +drawnow; +yl = ylim(gca); +yb = yl(1) - 0.015 * (yl(2) - yl(1)); +for k = 1:numel(xd) + text(xd(k), yb, num2str(xd(k)), 'Parent', gca, 'Rotation', 90, ... + 'HorizontalAlignment', 'right', 'VerticalAlignment', 'middle', ... + 'FontName', 'Arial', 'FontSize', 13, 'Clipping', 'off'); +end +xlh = get(gca, 'XLabel'); % push the axis label below the vertical ticks +set(xlh, 'Units', 'normalized', 'Position', [0.5 -0.15 0]); +drawnow; exportgraphics(fig, outFile, 'Resolution', 150); close(fig); fprintf('%s: wrote %s (anodal N=%d, control N=%d)\n', vname, outFile, na, nc); diff --git a/analysis/matlab/variations/right_only_d6_10/learning_curve.png b/analysis/matlab/variations/right_only_d6_10/learning_curve.png index 44ceb42..4c55266 100644 Binary files a/analysis/matlab/variations/right_only_d6_10/learning_curve.png and b/analysis/matlab/variations/right_only_d6_10/learning_curve.png differ diff --git a/analysis/matlab/variations/right_only_d6_10/learning_curve_rate.png b/analysis/matlab/variations/right_only_d6_10/learning_curve_rate.png index aa8bf70..1f6b7dc 100644 Binary files a/analysis/matlab/variations/right_only_d6_10/learning_curve_rate.png and b/analysis/matlab/variations/right_only_d6_10/learning_curve_rate.png differ diff --git a/analysis/matlab/variations/right_only_d6_10/plotcurve.m b/analysis/matlab/variations/right_only_d6_10/plotcurve.m index 8fb7f44..8399de2 100644 --- a/analysis/matlab/variations/right_only_d6_10/plotcurve.m +++ b/analysis/matlab/variations/right_only_d6_10/plotcurve.m @@ -38,9 +38,22 @@ legend([e1 e2], {sprintf('anodal, N = %d', na), sprintf('control, N = %d', nc)}, 'Location', 'northwest', 'Box', 'off'); xlabel('training day'); ylabel(ylab); title(vname, 'Interpreter', 'none'); -set(gca, 'XTick', xd, 'XTickLabelRotation', 90, ... % vertical x-axis tick labels +% Vertical x-axis tick labels. XTickLabelRotation / xtickangle are NOT honored +% by exportgraphics on a headless invisible figure, so draw the labels manually +% as rotated text objects (which always render). +set(gca, 'XTick', xd, 'XTickLabel', {}, 'Position', [0.13 0.20 0.80 0.70], ... 'FontName', 'Arial', 'FontSize', 13, 'LineWidth', 1.5, 'Box', 'off'); -drawnow; % force layout so the rotation is applied headless +drawnow; +yl = ylim(gca); +yb = yl(1) - 0.015 * (yl(2) - yl(1)); +for k = 1:numel(xd) + text(xd(k), yb, num2str(xd(k)), 'Parent', gca, 'Rotation', 90, ... + 'HorizontalAlignment', 'right', 'VerticalAlignment', 'middle', ... + 'FontName', 'Arial', 'FontSize', 13, 'Clipping', 'off'); +end +xlh = get(gca, 'XLabel'); % push the axis label below the vertical ticks +set(xlh, 'Units', 'normalized', 'Position', [0.5 -0.15 0]); +drawnow; exportgraphics(fig, outFile, 'Resolution', 150); close(fig); fprintf('%s: wrote %s (anodal N=%d, control N=%d)\n', vname, outFile, na, nc); diff --git a/analysis/matlab/variations/right_only_d6_13/learning_curve.png b/analysis/matlab/variations/right_only_d6_13/learning_curve.png index f7a0226..bf1fc3b 100644 Binary files a/analysis/matlab/variations/right_only_d6_13/learning_curve.png and b/analysis/matlab/variations/right_only_d6_13/learning_curve.png differ diff --git a/analysis/matlab/variations/right_only_d6_13/learning_curve_rate.png b/analysis/matlab/variations/right_only_d6_13/learning_curve_rate.png index 5f3f43b..727ca84 100644 Binary files a/analysis/matlab/variations/right_only_d6_13/learning_curve_rate.png and b/analysis/matlab/variations/right_only_d6_13/learning_curve_rate.png differ diff --git a/analysis/matlab/variations/right_only_d6_13/plotcurve.m b/analysis/matlab/variations/right_only_d6_13/plotcurve.m index 8fb7f44..8399de2 100644 --- a/analysis/matlab/variations/right_only_d6_13/plotcurve.m +++ b/analysis/matlab/variations/right_only_d6_13/plotcurve.m @@ -38,9 +38,22 @@ legend([e1 e2], {sprintf('anodal, N = %d', na), sprintf('control, N = %d', nc)}, 'Location', 'northwest', 'Box', 'off'); xlabel('training day'); ylabel(ylab); title(vname, 'Interpreter', 'none'); -set(gca, 'XTick', xd, 'XTickLabelRotation', 90, ... % vertical x-axis tick labels +% Vertical x-axis tick labels. XTickLabelRotation / xtickangle are NOT honored +% by exportgraphics on a headless invisible figure, so draw the labels manually +% as rotated text objects (which always render). +set(gca, 'XTick', xd, 'XTickLabel', {}, 'Position', [0.13 0.20 0.80 0.70], ... 'FontName', 'Arial', 'FontSize', 13, 'LineWidth', 1.5, 'Box', 'off'); -drawnow; % force layout so the rotation is applied headless +drawnow; +yl = ylim(gca); +yb = yl(1) - 0.015 * (yl(2) - yl(1)); +for k = 1:numel(xd) + text(xd(k), yb, num2str(xd(k)), 'Parent', gca, 'Rotation', 90, ... + 'HorizontalAlignment', 'right', 'VerticalAlignment', 'middle', ... + 'FontName', 'Arial', 'FontSize', 13, 'Clipping', 'off'); +end +xlh = get(gca, 'XLabel'); % push the axis label below the vertical ticks +set(xlh, 'Units', 'normalized', 'Position', [0.5 -0.15 0]); +drawnow; exportgraphics(fig, outFile, 'Resolution', 150); close(fig); fprintf('%s: wrote %s (anodal N=%d, control N=%d)\n', vname, outFile, na, nc); diff --git a/analysis/matlab/variations/unmerge_d0_10/learning_curve.png b/analysis/matlab/variations/unmerge_d0_10/learning_curve.png index fbdf57c..3e2cd18 100644 Binary files a/analysis/matlab/variations/unmerge_d0_10/learning_curve.png and b/analysis/matlab/variations/unmerge_d0_10/learning_curve.png differ diff --git a/analysis/matlab/variations/unmerge_d0_10/learning_curve_rate.png b/analysis/matlab/variations/unmerge_d0_10/learning_curve_rate.png index 139bacd..c4c7f44 100644 Binary files a/analysis/matlab/variations/unmerge_d0_10/learning_curve_rate.png and b/analysis/matlab/variations/unmerge_d0_10/learning_curve_rate.png differ diff --git a/analysis/matlab/variations/unmerge_d0_10/plotcurve.m b/analysis/matlab/variations/unmerge_d0_10/plotcurve.m index 8fb7f44..8399de2 100644 --- a/analysis/matlab/variations/unmerge_d0_10/plotcurve.m +++ b/analysis/matlab/variations/unmerge_d0_10/plotcurve.m @@ -38,9 +38,22 @@ legend([e1 e2], {sprintf('anodal, N = %d', na), sprintf('control, N = %d', nc)}, 'Location', 'northwest', 'Box', 'off'); xlabel('training day'); ylabel(ylab); title(vname, 'Interpreter', 'none'); -set(gca, 'XTick', xd, 'XTickLabelRotation', 90, ... % vertical x-axis tick labels +% Vertical x-axis tick labels. XTickLabelRotation / xtickangle are NOT honored +% by exportgraphics on a headless invisible figure, so draw the labels manually +% as rotated text objects (which always render). +set(gca, 'XTick', xd, 'XTickLabel', {}, 'Position', [0.13 0.20 0.80 0.70], ... 'FontName', 'Arial', 'FontSize', 13, 'LineWidth', 1.5, 'Box', 'off'); -drawnow; % force layout so the rotation is applied headless +drawnow; +yl = ylim(gca); +yb = yl(1) - 0.015 * (yl(2) - yl(1)); +for k = 1:numel(xd) + text(xd(k), yb, num2str(xd(k)), 'Parent', gca, 'Rotation', 90, ... + 'HorizontalAlignment', 'right', 'VerticalAlignment', 'middle', ... + 'FontName', 'Arial', 'FontSize', 13, 'Clipping', 'off'); +end +xlh = get(gca, 'XLabel'); % push the axis label below the vertical ticks +set(xlh, 'Units', 'normalized', 'Position', [0.5 -0.15 0]); +drawnow; exportgraphics(fig, outFile, 'Resolution', 150); close(fig); fprintf('%s: wrote %s (anodal N=%d, control N=%d)\n', vname, outFile, na, nc);