He descubierto que puedo poner set(0, 'DefaultAxesFontSize',14) en un inicio.m de archivo, que luego se cambia el tamaño de fuente predeterminado de las garrapatas, las etiquetas de los ejes, y el título de mis figuras. Es posible tener un tamaño de fuente predeterminado para el título o en las etiquetas de los ejes?

Nota relevante: revisé get(0,'Factory') y get(0,'default') y no veo nada relacionado con la figura de tamaño de fuente distinta a la mencionada anteriormente…
La última vez que revisé (Matlab2010b) no existe ningún valor predeterminado para fontsizes además de DefaultAxesFontSize y DefaultTextFontSize. Y no creo que se agregó.

OriginalEl autor Hanmyo | 2012-04-20

1 Comentario

  1. 6

    Usted no puede tener un tamaño de fuente predeterminado para los títulos y las etiquetas con los mecanismos estándar. Si usted está dispuesto a sobrecargar el etiquetado de comandos, a continuación, usted puede acercarse bastante. La más sencilla sería la de modificar xlabel para permitir una fuente predeterminada. Se necesitaría añadir

    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

    inmediatamente antes de

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

    Si usted no desea modificar un archivo de núcleo puede sobrecargar 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

    De cualquier manera, usted puede configurar el tamaño de fuente predeterminado con

    setappdata(0, 'DefaultAxesXLabelFontSize', 36)

    o

    setappdata(gcf, 'DefaultAxesXLabelFontSize', 36)

    o

    setappdata(gca, 'DefaultAxesXLabelFontSize', 36)

    Tenga en cuenta que se utiliza setappdata y no set.

    OriginalEl autor StrongBad

Dejar respuesta

Please enter your comment!
Please enter your name here