2014-12-02 26 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) 
相關問題