diff --git a/analysis/matlab/variations/unmerge_d0_13/learning_curve.png b/analysis/matlab/variations/unmerge_d0_13/learning_curve.png index 9a1cd74..e35a036 100644 Binary files a/analysis/matlab/variations/unmerge_d0_13/learning_curve.png and b/analysis/matlab/variations/unmerge_d0_13/learning_curve.png differ diff --git a/analysis/matlab/variations/unmerge_d0_13/learning_curve_rate.png b/analysis/matlab/variations/unmerge_d0_13/learning_curve_rate.png index c77f4c3..ec6223c 100644 Binary files a/analysis/matlab/variations/unmerge_d0_13/learning_curve_rate.png and b/analysis/matlab/variations/unmerge_d0_13/learning_curve_rate.png differ diff --git a/analysis/matlab/variations/unmerge_d0_13/plotcurve.m b/analysis/matlab/variations/unmerge_d0_13/plotcurve.m index 8fb7f44..8399de2 100644 --- a/analysis/matlab/variations/unmerge_d0_13/plotcurve.m +++ b/analysis/matlab/variations/unmerge_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/unmerge_d0_5/learning_curve.png b/analysis/matlab/variations/unmerge_d0_5/learning_curve.png index 71777f7..fdb347c 100644 Binary files a/analysis/matlab/variations/unmerge_d0_5/learning_curve.png and b/analysis/matlab/variations/unmerge_d0_5/learning_curve.png differ diff --git a/analysis/matlab/variations/unmerge_d0_5/learning_curve_rate.png b/analysis/matlab/variations/unmerge_d0_5/learning_curve_rate.png index 23bcdaf..f86b755 100644 Binary files a/analysis/matlab/variations/unmerge_d0_5/learning_curve_rate.png and b/analysis/matlab/variations/unmerge_d0_5/learning_curve_rate.png differ diff --git a/analysis/matlab/variations/unmerge_d0_5/plotcurve.m b/analysis/matlab/variations/unmerge_d0_5/plotcurve.m index 8fb7f44..8399de2 100644 --- a/analysis/matlab/variations/unmerge_d0_5/plotcurve.m +++ b/analysis/matlab/variations/unmerge_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/unmerge_d6_10/learning_curve.png b/analysis/matlab/variations/unmerge_d6_10/learning_curve.png index 561cf02..7dcb7de 100644 Binary files a/analysis/matlab/variations/unmerge_d6_10/learning_curve.png and b/analysis/matlab/variations/unmerge_d6_10/learning_curve.png differ diff --git a/analysis/matlab/variations/unmerge_d6_10/learning_curve_rate.png b/analysis/matlab/variations/unmerge_d6_10/learning_curve_rate.png index d0df499..ffc52b7 100644 Binary files a/analysis/matlab/variations/unmerge_d6_10/learning_curve_rate.png and b/analysis/matlab/variations/unmerge_d6_10/learning_curve_rate.png differ diff --git a/analysis/matlab/variations/unmerge_d6_10/plotcurve.m b/analysis/matlab/variations/unmerge_d6_10/plotcurve.m index 8fb7f44..8399de2 100644 --- a/analysis/matlab/variations/unmerge_d6_10/plotcurve.m +++ b/analysis/matlab/variations/unmerge_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/unmerge_d6_13/learning_curve.png b/analysis/matlab/variations/unmerge_d6_13/learning_curve.png index 310be29..3405af8 100644 Binary files a/analysis/matlab/variations/unmerge_d6_13/learning_curve.png and b/analysis/matlab/variations/unmerge_d6_13/learning_curve.png differ diff --git a/analysis/matlab/variations/unmerge_d6_13/learning_curve_rate.png b/analysis/matlab/variations/unmerge_d6_13/learning_curve_rate.png index 558ce66..482bb0c 100644 Binary files a/analysis/matlab/variations/unmerge_d6_13/learning_curve_rate.png and b/analysis/matlab/variations/unmerge_d6_13/learning_curve_rate.png differ diff --git a/analysis/matlab/variations/unmerge_d6_13/plotcurve.m b/analysis/matlab/variations/unmerge_d6_13/plotcurve.m index 8fb7f44..8399de2 100644 --- a/analysis/matlab/variations/unmerge_d6_13/plotcurve.m +++ b/analysis/matlab/variations/unmerge_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);