2014-12-02 25 views
3

这个问题也许有点像下面的链接,但是这并没有为我工作... http://nl.mathworks.com/matlabcentral/answers/102530-how-can-i-change-the-default-settings-for-the-linewidth-property-before-i-plot-a-figure-in-matlabMatlab:如何在实际绘制一些图之前改变图中的线宽?

我工作的自动打开你的身材在全屏模式和第二监视器上的功能的MATLAB如果存在。到目前为止,一切正常。我已经实现设置字体大小的功能里面,所以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 

现在是我的问题:我能在相同的方式改变线的线宽那会在图中画出来?因此,在这里,预先定义函数内部的线宽,然后在脚本中绘制一些线条等等。我更喜欢这种方法只适用于您正在处理的图形,以便您可以更改每个图形的“默认”并保存如果需要,它们都具有不同的线宽和字体。

我试过下面一行,但只改变了轴的线宽。

set(gca,'LineWidth',2) 

有没有人可以帮助我解决这个问题?

%--------------------------------------------- -------------------------------------------------- ------------------------------- 下面的答案很好,但我发现了一个新问题。 下面中的代码通过解决前面的问题无意中发现:

set(gca,'LineWidth',3) 

原来这改变了轴的宽度。但现在的问题......这里只适用于第一个数字。 (见图) enter image description here

如果我在第二张图中绘制后将此代码放入我的会话中,则第二个图中的宽度会发生变化。看起来像没有达到正确的手柄,或类似的东西,在函数内部,当做第二个数字。你有什么想法可能是错误的吗?

回答

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); 

图:

enter image description here

enter image description here

。希望帮助!

4

显示的链接设置根的属性(因此所有的图都应该继承)。 (这为我工作)

set(0,'defaultlinelinewidth',2) 

您也可以尝试像你建议的一个类似的一组命令,但它改成这样:

set(gcf,'defaultlinelinewidth',2) 
相关问题