2015-09-16 3 views
1

Я хотел бы отобразить большой текст (строка, если быть точным) в MATLAB. Я в настоящее время использую следующий код:Показать большой текст в MATLAB

fig = figure(3); 
hPan = uipanel(fig,'Units','normalized'); 
uicontrol(hPan, 'Style','text','HorizontalAlignment','center', ... 
'FontSize',25, 'Units','normalized', 'Position',[0 0 1 1], ... 
'String',decodedValue); 

Но поскольку uicontrol не поддерживает VerticalAlignment, мой выход в настоящее время застрял в верхней части рисунка, тогда я хотел бы сделать его по центру:

enter image description here

Возможно, есть альтернативный способ отображения большого текста в MATLAB?

+0

Можем ли мы предположить, что редактирование размера позиции здесь не является вариантом? – patrik

+0

@patrik Все возможно, если я могу заставить мою строку печатать красиво и аккуратно в центре фигуры. Таким образом, вы предлагаете напечатать текст несколько строк ниже. Правильно? – Bababarghi

+0

Да, я думаю, именно так Matlab означает, что это нужно сделать. Кроме того, вы думаете, что разумно иметь текстовое поле, которое охватывает всю цифру? Это может привести к осложнениям (например, текстовое поле охватывает другие виды информации), заставляя вас писать ненужные и продвинутые механизмы обработки фигур. – patrik

ответ

0

Вы можете установить размер вашего текстового поля UIControl position и быть в центре вашей фигуры:

decodedValue = 'Decoded Value: 2'; 

fig = figure(3); 
hPan = uipanel(fig,'Units','normalized'); 

uicontrol(hPan, 'Style','text', 'HorizontalAlignment','center', ... 
'FontSize',25, 'Units','normalized', 'Position',[0.2 0.4 0.6 0.2], ... 
'String',decodedValue); 

Вектор позиции имеет следующий смысл: [left bottom width height]: фигура/элемент текста начинается в left bottom и имеет размер width height

Смежные вопросы