Is it possible to create textbox with fixed width on a plot?

I would like to add paragraph with fixed width as a caption to the figure, but I don't want to set by hand the linebreaks!

回答 (1 件)

Ashish Gudla
Ashish Gudla 2015 年 5 月 27 日

1 投票

You can use the annotation textbox with the 'FitBoxToText' property set to 'off'. This will wrap the text to fit the width of the text box.
Ex:
>>figure; % new figure window
>>plot(1:10);
>>annotation('textbox', [0.2,0.4,0.5,0.1],...
'String', 'This is a test string.This is a test string.This is a test string.This is a test string.',...
'FitBoxToText','off');
You can refer to other properties here:

1 件のコメント

FM
FM 2022 年 7 月 13 日
編集済み: FM 2022 年 7 月 13 日
The 4 position parameters seem to relative to the entire figure rather than an pair of axes in a subplot. Can this be done within a subplot?
AFTERNOTE: With help from [https://www.mathworks.com/matlabcentral/answers/356708-how-to-position-a-annotation-in-subplot-southeast], I supplied "get(gca,'Position')" as the "dim" name/value parameter:
annotation('textbox',get(gca,'Position'),String="The quick brown fox",FitBoxToText='off')
Unfortunately, the text box's left edge overlaps with the y-axis labels!
A work-around that doesn't involve manual customization of the "Position" based on Figure size and number of subplots would be welcome. Thanks!
P.S. I currently finagle the position by manually resizing the text box, issuing "get(gco,'Position'), then editing the "annotation" command to use this position. Ideally this would not be necessary.

サインインしてコメントする。

質問済み:

2015 年 5 月 26 日

編集済み:

FM
2022 年 7 月 13 日

Community Treasure Hunt

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

Start Hunting!

Translated by