set(0, 'DefaultAxesFontSize',14)
startup.m ファイルを挿入すると、目盛り、軸ラベル、および Figure のタイトルの既定のフォント サイズが変更されることがわかりました。タイトルまたは軸ラベルに別の既定のフォント サイズを設定することは可能ですか?
14239 次
1 に答える
6
標準のメカニズムでは、タイトルとラベルに個別の既定のフォント サイズを設定することはできません。ラベル付けコマンドをオーバーロードする意思がある場合は、かなり近づくことができます。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
ではなく and を使用していることに注意してくださいset
。
于 2013-09-19T18:07:58.617 に答える