How to wrap due to specify the number of columns chars in a picture

Answers (4)

The textwrap command is sufficient. As UIHANDLE you can create a temporary object, e.g. uicontrol('Style', 'text', 'visible', 'off') which get the appropriate dimensions.
How did you put that text over that axes control? Did you use the text() function, or is there a static text control on top of the axes?
If you have a text control, like Jan said, you can send your text string, and handle to your control, into textwrap() to get a text with line breaks in it that you can then send to the control with set().
myText = textwrap(handles.text1, reallyLongText);
set(handles.text1, 'String', myText);
Or, if you want to control where the breaks are, you can use sprintf():
myText = sprintf('Line 1\nLine 2\nLine 3');
set(handles.text1, 'String', myText);
You can also use sprintf() with the text() function.

1 Comment

I have the problem about the position. The question is below Thanks you for your help

Sign in to comment.

It's well,Thanks Jan Simon and Image Analyst I get the picture by the code
d=txt{2+loopi,4};
h=uicontrol('Style','Text','fontsize',10);
string ={d;{}};
[outstring,newpos]=textwrap(h,string,45);
set(h,'String',outstring,'Position',newpos);
And then
I add
newpos(1)=370;
newpos(2)=230;
But the question is the location is changing when I batch like this
|How to deal with the position question? Thanks|||

Categories

Find more on MATLAB in Help Center and File Exchange

Asked:

yu
on 14 Feb 2013

Answered:

on 23 Sep 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!