MATLAB Answers

0

Matlab Figure and TextBox

Asked by Matlab2010 on 20 Oct 2014
Latest activity Edited by Orion
on 20 Oct 2014
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

Sign in to comment.

Tags

2 Answers

Orion
Answer by Orion
on 20 Oct 2014
Edited by Orion
on 20 Oct 2014
 Accepted Answer

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

Sign in to comment.


Orion
Answer by 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.

  1 Comment

Matlab2010 on 20 Oct 2014
thank you. However, this doesnt quite answer my question. I want to show each line of the textbox in a different color (r,b,g). How do I do this?

Sign in to comment.