Han*_*myo 6 matlab default-value font-size matlab-figure
我发现我可以放入set(0, 'DefaultAxesFontSize',14)一个startup.m文件,然后更改我的数字的刻度,轴标签和标题的默认字体大小.是否可以为标题或轴标签设置单独的默认字体大小?
使用标准机制的标题和标签不能有单独的默认字体大小.如果您愿意重载标签命令,那么您可以非常接近.最简单的方法是修改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
Run Code Online (Sandbox Code Playgroud)
就在此之前
set(h, 'String', string, pvpairs{:});
Run Code Online (Sandbox Code Playgroud)
如果您不想修改核心文件,则可以重载 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
Run Code Online (Sandbox Code Playgroud)
无论哪种方式,您都可以使用设置默认字体大小
setappdata(0, 'DefaultAxesXLabelFontSize', 36)
Run Code Online (Sandbox Code Playgroud)
要么
setappdata(gcf, 'DefaultAxesXLabelFontSize', 36)
Run Code Online (Sandbox Code Playgroud)
要么
setappdata(gca, 'DefaultAxesXLabelFontSize', 36)
Run Code Online (Sandbox Code Playgroud)
请注意,它使用setappdata和不使用set.