matlab的默认字体_MATLAB默认图形字体大小

论坛 期权论坛 脚本     
已经匿名di用户   2022-3-21 23:40   1690   0

使用标准机制的 Headers 和标签不能有单独的默认字体大小 . 如果您愿意重载标签命令,那么您可以非常接近 . 最简单的方法是修改 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 .

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP