Я обнаружил, что могу поместить set(0, 'DefaultAxesFontSize',14)
в файл startup.m, который затем изменит размер шрифта по умолчанию для делений, меток осей и названия моих рисунков. Возможно ли иметь отдельный размер шрифта по умолчанию для меток заголовка или осей?
Размеры шрифта рисунка по умолчанию MATLAB
Ответы (1)
У вас не может быть отдельного размера шрифта по умолчанию для заголовков и меток со стандартными механизмами. Если вы готовы перегрузить команды маркировки, вы можете подойти довольно близко. Проще всего было бы изменить xlabel
, чтобы разрешить использование шрифта по умолчанию. Вам нужно будет добавить
if ~isempty(getappdata(ax, 'DefaultAxesXLabelFontSize'))
set(h, 'FontSize', getappdata(ax, 'DefaultAxesXLabelFontSize'));
else
if ~isempty(getappdata(get(ax, 'parent'), 'DefaultAxesXLabelFontSize'))
set(h, 'FontSize', getappdata(get(ax, 'parent'), 'DefaultAxesXLabelFontSize'));
elseif ~isempty(getappdata(0, 'DefaultAxesXLabelFontSize'))
set(h, 'FontSize', getappdata(0, 'DefaultAxesXLabelFontSize'));
end
end
непосредственно перед
set(h, 'String', string, pvpairs{:});
Если вы не хотите изменять основной файл, вы можете перегрузить xlabel
function varargout = xlabel(varargin)
ax = axescheck(varargin{:});
if isempty(ax)
ax = gca;
end
oldPath = pwd;
cd([matlabroot, filesep, 'toolbox', filesep, 'matlab', filesep, 'graph2d']);
xlabel = str2func('xlabel');
cd(oldPath);
oldFontsize = get(ax, 'FontSize');
if ~isempty(getappdata(ax, 'DefaultAxesXLabelFontSize'))
set(ax, 'FontSize', getappdata(ax, 'DefaultAxesXLabelFontSize'));
else
if ~isempty(getappdata(get(ax, 'parent'), 'DefaultAxesXLabelFontSize'))
set(ax, 'FontSize', getappdata(get(ax, 'parent'), 'DefaultAxesXLabelFontSize'));
elseif ~isempty(getappdata(0, 'DefaultAxesXLabelFontSize'))
set(ax, 'FontSize', getappdata(0, 'DefaultAxesXLabelFontSize'));
end
end
varargout{1:nargout} = xlabel(varargin{:});
set(ax, 'FontSize', oldFontsize);
if ~nargout
varargout = {};
end
end
В любом случае, вы можете установить размер шрифта по умолчанию с помощью
setappdata(0, 'DefaultAxesXLabelFontSize', 36)
or
setappdata(gcf, 'DefaultAxesXLabelFontSize', 36)
or
setappdata(gca, 'DefaultAxesXLabelFontSize', 36)
Обратите внимание, что используется setappdata
, а не set
.
person
StrongBad
schedule
19.09.2013
get(0,'Factory')
иget(0,'default')
и не увидел ничего, связанного с размером шрифта рисунка, кроме упомянутого выше... - person Hanmyo   schedule 20.04.2012