Matlab Figure and TextBox
    3 次查看(过去 30 天)
  
       显示 更早的评论
    
I have an image and I do not wish to use legend. Instead I wish to make my own legend.
I wish to have a text box in the image with each of the following on a new line, in bold with a color (red, blue, green)
'val: >0 & < 0.3'
'val: >0.3 & < 1.1'
'val: >1.2 & < 1.9'
How can I apply the below code to achieve this?
mTextBox = uicontrol('style','text');
set(mTextBox,'String',{'\bf Hello World'});
thank you
0 个评论
采纳的回答
  Orion
      
 2014-10-20
        
      编辑:Orion
      
 2014-10-20
  
      Different colors mean different objects.
just use several call to text
load mandrill % demo image in matlab
image(X);
colormap(map)
Mytext = {'val: >0 & < 0.3','b';...
    'val: >0.3 & < 1.1','r';...
    'val: >1.2 & < 1.9','y'};
for i=1:size(Mytext,1)
    mTextBox(i)=text(350,50*i,Mytext{i,1});
    set(mTextBox(i),'Color',Mytext{i,2},'FontWeight','bold');
end
here you get 3 text objects stored in mTextBox
you can't have different colors in the same object
0 个评论
更多回答(1 个)
  Orion
      
 2014-10-20
        Hi,
your image is drawn in an axe. you can just use text
load mandrill % demo image in matlab
image(X);
colormap(map)
Mytext = {'val: >0 & < 0.3';...
    'val: >0.3 & < 1.1';...
    'val: >1.2 & < 1.9'};
mTextBox=text(350,50,Mytext); 
set(mTextBox,'Color','r','FontWeight','bold');
and if you want several texts, use several call to text, with different positions and colors.
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Graphics Object Properties 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

