2012-04-20 3 views
6

set(0, 'DefaultAxesFontSize',14)をstartup.mファイルに置くことができます。このファイルは、目盛り、軸ラベル、およびFigureのタイトルの既定のフォントサイズを変更します。タイトルラベルまたは軸ラベルに別のデフォルトのフォントサイズを使用することは可能ですか?MATLABの既定の図形フォントサイズ

+1

関連するメモ: 'get(0、 'Factory')'と 'get(0、 'default')'をチェックし、上記のもの以外のFigureのフォントサイズに関連するものは見ませんでした... – Hanmyo

+1

前回チェックした(Matlab2010b)DefaultAxesFontSizeとDefaultTextFontSizeの他にfontsizeのデフォルトがありませんでした。そして私は彼らがそれを加えたとは思わない。 – bdecaf

答えて

6

標準のメカニズムでは、タイトルとラベルに別のデフォルトのフォントサイズを設定することはできません。ラベリングコマンドをオーバーロードしたい場合は、かなり近づくことができます。最も簡単なのはxlabelを変更して、デフォルトフォントを許可することです。あなたがいずれかの方法であなたが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 

をオーバーロードすることができ、コアファイルを変更したくない場合は、すぐに

set(h, 'String', string, pvpairs{:}); 

前に、あなたが設定することができますあなたは

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 

を追加する必要がありますデフォルトフォントサイズ:

setappdata(0, 'DefaultAxesXLabelFontSize', 36) 
それは setappdataない setを使用すること

または

setappdata(gcf, 'DefaultAxesXLabelFontSize', 36) 

または

setappdata(gca, 'DefaultAxesXLabelFontSize', 36) 

注意。

関連する問題