ich gefunden habe, dass ich set(0, 'DefaultAxesFontSize',14)
in einer startup.m Datei setzen, die dann die Standardschriftgröße von Zecken ändern, Achsen Etiketten und Titel meiner Figuren. Ist es möglich, eine separate Standardschriftgröße für den Titel oder die Achsenbeschriftungen zu verwenden?MATLAB Standard Abbildung Schriftgrößen
6
A
Antwort
6
Sie können keine separate Standardschriftgröße für Titel und Etiketten mit den Standardmechanismen haben. Wenn Sie bereit sind, die Beschriftungsbefehle zu überladen, dann können Sie ziemlich nah kommen. Am einfachsten wäre xlabel
zu ändern für eine Standardschriftart zu ermöglichen. Sie würden
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
unmittelbar vor
set(h, 'String', string, pvpairs{:});
hinzufügen müssen Wenn Sie Sie 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
In beiden Fällen überlasten können keine Core-Datei ändern möchten, können Sie einstellen, die Standardschriftgröße mit
setappdata(0, 'DefaultAxesXLabelFontSize', 36)
oder
setappdata(gcf, 'DefaultAxesXLabelFontSize', 36)
oder
setappdata(gca, 'DefaultAxesXLabelFontSize', 36)
Beachten Sie, dass es setappdata
und nicht set
verwendet.
Relevante Anmerkung: Ich ausgecheckt 'erhalten (0,‚Factory‘)' und 'erhalten (0,‚default‘)' und sah etwas nicht auf Figur Schriftgröße andere als die oben genannten Zusammenhang ... – Hanmyo
ich das letzte Mal überprüft (Matlab2010b) gab es keinen Standard für Schriftgrößen neben DefaultAxesFontSize und DefaultTextFontSize. Und ich glaube nicht, dass sie es hinzugefügt haben. – bdecaf