2013-11-29 304 views
0

我使用迴歸函數來查找繪製的某些數據的斜率。我設法在同一個圖上繪製數據和擬合線。我知道如何清楚說明擬合的線是斜率,但我還想在圖的角落添加一個框(不關心在哪裏),它顯示了斜率的實際值(基本上顯示了迴歸的值函數返回),我試圖找到一種方法來自動執行此操作(例如,如果有一個或那個函數)。任何人都可以幫忙嗎(我希望我能夠解釋我的問題......)?如何在Matlab中顯示斜坡上的斜率

回答

3

我沒有嘗試重新創建斜坡線,但是您是否考慮過使用註釋?

例子:

x = [-1:.2:1]; 
plot(x,x.^2,'-bo'); 
annotation('textbox', [.4 .4 .1 .1], 'String', ... 
        ['slope at x = 0.6 is: ',num2str(2*.6)]); 

其中顯示:

enter image description here

當然,你可以控制盒如何定位,格式化等等中。

查看幫助文件以獲取更多詳細信息。在某些情況下,您可能還會考慮使用圖例()。

+0

謝謝!我喜歡這個解決方案最好,工作很好,很容易! –

1

功能text向文字添加文字。它需要一個位置和一個字符串來顯示。另外,您可以高度自定義文本的外觀。例如:

x = 1:100; 
y = randn(size(x)) + 0.3*x; 
plot(x,y,'.'); 

p = polyfit(x,y,1); 
hold on; 
plot(x, polyval(p,x),'k-'); 

h = text(min(xlim(gca)), max(ylim(gca)), ... 
    sprintf('%fx + %f', p(1), p(2)),... 
    'verticalalignment','top',... 
    'horizontalalignment','left');  

然後,看你可以改變各種settinsg,看看:

get(h) 

這些屬性幾乎全部是在創建改變(像上面這樣verticalalignment)或創建後(如(h,verticalalignment,'top'))。