这个问题可能有点像下面的链接,但这对我不起作用...... http://nl.mathworks.com/matlabcentral/answers/102530-how-can-i-change-the-default-settings-for-the-linewidth-property-before-i-plot-a-figure-in-matlab
我正在开发一个matlab功能,可以在全屏模式下自动打开你的身材,如果有的话,可以在第二个显示器上打开。到目前为止,一切正常。我已经实现了在函数内设置fontsize,所以whitout绘制任何东西而不用制作xlabel(..)等:
% Fontsize used at the figure
if ~exist('fontsize_manual','var')|| isempty(fontsize_manual)
set(gca,'FontSize',16)
else
set(gca,'Fontsize',fontsize_manual)
end
现在是我的问题:我可以用相同的方式改变图中绘制的线条的线宽吗?所以在这里,预先定义函数内部的线宽,然后在你的脚本中绘制一些线等。我更喜欢这只适用于你正在处理的数字,这样你就可以为每个数字更改这个'default'并保存如果需要,它们都具有不同的线宽和字体。
我尝试了下面这一行,但这只改变了轴的线宽。
set(gca,'LineWidth',2)
有没有人可以帮我解决这个问题?
%---------------------------------------------- -------------------------------------------------- ------------------------------ 下面的答案很好,但我发现了一个新问题。 通过解决上一个问题意外发现下面的代码:
set(gca,'LineWidth',3)
原来这改变了轴的宽度。但现在问题......此处这只适用于第一个数字。 (见图)
如果我在第二个图中的绘图后也将此代码放在我的会话中,则第二个图中的宽度会发生变化。在制作第二个数字时,看起来在功能内部没有到达右手柄或类似的东西。你知道这里有什么问题吗?
答案 0 :(得分:5)
我认为你所追求的是DefaultLineLineWidth
属性,你可以为特定的数字(或根)分配一个值。
这是一个简单的代码说明;基本上我创建一个数字,将其“可见”属性设置为“关闭”并指定默认线条线宽(听起来很奇怪......)。绘制的线的线宽为4,而之后创建的另一个绘图具有默认宽度:
clear
clc
hFig1 = figure('Visible','off'); %// Create figure, set it to not visible.
set(gcf,'DefaultLineLineWidth',4); %// Assign default linewidth.
x = 1:10;
plot(x,x.^2-5);
set(hFig1,'Visible','on')
title('Figure 1','FontSize',16);
hFig2 = figure;
plot(x,2.*x+rand(1,10));
title('Figure 2','FontSize',16);
图:
希望有所帮助!
答案 1 :(得分:4)
显示的链接设置了根的属性(因此所有数字都应该继承)。 (这对我有用)
set(0,'defaultlinelinewidth',2)
您也可以尝试类似您建议的设置命令,但将其更改为:
set(gcf,'defaultlinelinewidth',2)