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.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!