MATLAB Answers

yu

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

Asked by yu
on 14 Feb 2013

for example I want to change

to

How to do it Thank you

  0 Comments

Products

No products are associated with this question.

3 Answers

Answer by Jan Simon
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.

  0 Comments


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

  1 Comment

yu
on 18 Feb 2013

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


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

  0 Comments


Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply today