我发现我可以将 set(0, 'DefaultAxesFontSize',14) 放在startup.m文件中,然后更改刻度,轴标签和我的数字 Headers 的默认字体大小 . 是否可以为 Headers 或轴标签设置单独的默认字体大小?
set(0, 'DefaultAxesFontSize',14)
使用标准机制的 Headers 和标签不能有单独的默认字体大小 . 如果您愿意重载标签命令,那么您可以非常接近 . 最简单的方法是修改 xlabel 以允许使用默认字体 . 你需要添加
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)
要么
setappdata(gcf, 'DefaultAxesXLabelFontSize', 36)
setappdata(gca, 'DefaultAxesXLabelFontSize', 36)
请注意,它使用 setappdata 而不是 set .
setappdata
set
1 回答
使用标准机制的 Headers 和标签不能有单独的默认字体大小 . 如果您愿意重载标签命令,那么您可以非常接近 . 最简单的方法是修改
xlabel
以允许使用默认字体 . 你需要添加就在此之前
如果您不想修改核心文件,可以重载
xlabel
无论哪种方式,您都可以使用设置默认字体大小
要么
要么
请注意,它使用
setappdata
而不是set
.