在matlab中一次设置不同绘图的属性

时间:2013-12-06 13:36:54

标签: matlab properties handle figure

在m文件中,我正在绘制16种不同类型的图(不在循环中)。是否可以通过只写一次来设置所有图的以下属性:

 set(gca,'linewidth',1,'fontsize',12);
 set([xh, yh, th],'fontsize',12);  

2 个答案:

答案 0 :(得分:2)

事实证明答案是肯定的,可以很容易地检查,例如使用此代码

figure
xh = gca;
figure
yh = gca;

set([xh, yh], 'fontsize', 12, 'linewidth', 1);

请注意,轴的“线宽”属性适用于构成轴的线,而不适用于绘制到轴中的任何线。如果要更改其属性,则必须收集所有线对象的句柄,或者稍后使用

搜索线对象。
lh = findobj(0, 'Type', 'line');
set(lh, 'linewidth', 1)

这里'0'指的是根对象,其中所有数字都是子对象。

答案 1 :(得分:0)

您可以更改默认绘图参数:

set(0,'DefaultLineLineWidth',1);
set(0,'DefaultAxesFontSize', 12);
set(0,'DefaultTextFontSize', 12);

是的,它应该是“LineLine”,它是为了区别于DefaultPatchLineWidth。一旦你改变这些,它只会影响新的数字窗口;如果你已经创建了这些图,请使用A. Donda给出的答案。