Matlab Figure and TextBox
    3 views (last 30 days)
  
       Show older comments
    
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 Comments
Accepted Answer
  Orion
      
 on 20 Oct 2014
        
      Edited: Orion
      
 on 20 Oct 2014
  
      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 Comments
More Answers (1)
  Orion
      
 on 20 Oct 2014
        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.
See Also
Categories
				Find more on Graphics Object Properties in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
