gpt4 book ai didi

MATLAB 默认图形字体大小

转载 作者:太空宇宙 更新时间:2023-11-03 19:35:04 25 4
gpt4 key购买 nike

我发现我可以将 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

紧接着

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

关于MATLAB 默认图形字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10242049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com