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

1 view (last 30 days)
for example I want to change
to
How to do it Thank you

Answers (4)

Jan
Jan on 14 Feb 2013
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.

Image Analyst
Image Analyst on 14 Feb 2013
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.

yu
yu on 15 Feb 2013
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|||

Chad Greene
Chad Greene on 23 Sep 2015
Another option is wraptext.

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!