2013-01-10 57 views
2

請在這裏幫我。我試圖在matlab圖中包含一個帶有邊界的小文本框,它說明了關於該圖的某些重要內容。我也碰到過這個鏈接,Matlab中的TextBox圖

http://www.mathworks.in/matlabcentral/newsreader/view_thread/154660

但我想知道是否有任何其他內置的繪圖功能,可以直接做到這一點。我很抱歉,如果這個問題很簡單,但我會感謝你的幫助。

此外,我不清楚這個鏈接究竟是什麼意思。 mtext如何將文本框放置在圖中?我如何實際編碼?這些是我的混亂。請在這裏幫助我。

回答

11

您正在查找的功能叫做annotation

例如,annotation('textbox',[x y w h])創建一個可編輯文本框的註釋,其左下角在點x,y,寬度w和高度h,在歸一化的圖單位指定。在單個載體中指定xywh

這裏有一些花俏的演示...

x=0:0.1:10; 
var=1.85; 
y=x.^(var); 
plot(x,y); 

annotation('textbox',... 
    [0.15 0.65 0.3 0.15],... 
    'String',{'plotting y=x^{var} ,',['with var =' num2str(var)]},... 
    'FontSize',14,... 
    'FontName','Arial',... 
    'LineStyle','--',... 
    'EdgeColor',[1 1 0],... 
    'LineWidth',2,... 
    'BackgroundColor',[0.9 0.9 0.9],... 
    'Color',[0.84 0.16 0]); 

enter image description here

對於註釋文本框屬性的完整列表中找到here

+0

非常感謝您的耐心描述和幫助。我可以在這裏包含變量嗎?顯示它們的值? –

+0

它拋出錯誤說未知的參數。能否請你幫忙? –

+0

我不明白你的意思是通過包含一個變量。那個變量是一個數字,一個矩陣,一個字符串,一個像細胞或結構一樣更復雜的類嗎?你是否複製了答案中的代碼位?它仍然會給出錯誤? – bla

-1
alldatacursors = findall(gcf,'type','hggroup') 
set(alldatacursors,'FontSize',11) 
set(alldatacursors,'FontName','Times') 
set(alldatacursors,'BackgroundColor','w'); 
+0

這是幹什麼用的?這應該是對這個問題的答案嗎? – gnovice

+0

大概假設在這裏 - https://stackoverflow.com/questions/29600101/customizing-data-cursor-marker-matlab/47037407#47037407 – Adiel