MATLAB设置特定默认图形属性

4

有没有一种方法可以设置图形字体的非常具体的默认属性,并区分刻度字体大小、标签字体大小、标题字体大小等?

我知道我可以通过以下方式设置默认的图形字体属性:

set(0, 'DefaultAxesFontSize',14)
set(0, 'DefaultAxesFontWeight','bold')

但我正在寻找类似于以下内容的东西:
set(0, 'DefaultXTickLabelFontSize',10)
set(0, 'DefaultLegendFontSize',12)
% etc..

那将非常方便。感谢您的任何帮助!

1
这个信息可能会有所帮助:http://www.mathworks.es/es/help/matlab/creating_plots/setting-default-property-values.html#brb8fc3 - Luis Mendo
我发现我的方法是正确的,但是XTickLabel似乎不是一个对象类型,这就是为什么它没有起作用的原因。 - Lisa
Luis, 謝謝你的提示。我已經去過那個網站了,但最初的實現方法是錯誤的。 - Lisa
@Lisa - 你能否把你的解决方案发布为答案并接受它,这样这个问题就不会再显示为未回答了吗? - Dev-iL
1个回答

1
clear all
close all

X=rand(10,1);
Y=rand(10,1);

figure(1)
plot(X,Y)
title('This is a figure','interpreter','latex','FontSize',30);
whitebg([1,0.89063,0.87891]) % Background
set(gca,'FontSize',21); % Font size
set(gca,'YTick',[0 0.2 0.4 0.6 0.8 1])
set(gca,'XTick',[0 0.2 0.4 0.6 0.8 1])
set(gca,'XColor',[0.38,0.10,0.10]) %Color of the axis X
set(gca,'YColor',[0.38,0.10,0.10]) %Color of the axis Y
xlabel('x','interpreter','latex','FontSize',30); % Using for instance latex fonts
ylabel('y','interpreter','latex','FontSize',30);
set(gca,'LineWidth',3)

更新:

要默认使用类似于以下方式设置(gca,'XTickLabelMode','auto'),set(gca,'XTickMode','auto')

解释: 如何将XTickLabel重置为默认值


也许您可以包含一张图来演示这个? - kkuilla
亲爱的@kkuilla,我误解了问题。请看一下现在。丹尼尔 - DanielTheRocketMan
亲爱的@Lisa,我误解了问题。请看现在。 - DanielTheRocketMan
嗨,Daniel,感谢您的回答。在您最初的帖子中,您引导我查看MATLAB帮助页面以设置默认属性(正如Luis Mendo在评论中早先所做的那样),这正是我正在寻找的(除了我还没有找到特定的表达式来处理刻度标签等)。不过,您现在给出的答案并没有配置默认行为。 - Lisa
嗨,丹尼尔。我想改变默认行为,而不是将刻度标签配置设置为默认值。我在此期间找到的方法实际上是使用类似于 set(0, 'DefaultXTickLabelFontSize',10) 的东西(这就是我在原始问题中发布的内容),但我需要找到适用于 XTickLabel 的正确表达式,因为 XTickLabel 似乎无法工作。 - Lisa
@Lisa,正如我在更新中告诉你的那样,我认为在这种情况下,你需要进行两个步骤(我不确定原因是什么)。第一步是更改XTICK的默认行为,例如set(gca,'XTick',[0 0.2 0.4 0.6 0.8 1]),然后将此配置保持为默认设置,例如set(gca,'XTickMode','auto')。这一定有一些原因。我唯一知道的是Matlab似乎以不同的方式处理绘图属性和容器属性。也许它们之间存在某种交集,但通常被视为不同的属性。 - DanielTheRocketMan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接