MATLAB: How to create a text box alongside the plot

annotation;axisfigurelabel;MATLABnote;plotposition;proportion;side;size;text;textbox;

I have created a plot, and now I want to place a textbox on the side of it displaying values of some variables. How can I do that?

Best Answer

One way to do this is to use "<https://www.mathworks.com/help/matlab/ref/annotation.html annotation>" command. The bare-bones syntax for this is as follows:
 
annotation('textbox', [0.5, 0.2, 0.1, 0.1], 'String', "hi")
This places a text box with horizontal offset of 50% of the Figure's width, and vertical offset of 20% of the Figure's height. The size of the box is 10% of Figure's height by 10% of Figure's width:
To place a textbox outside the plot, you can modify the position and/or dimensions of the axis. For example:
 
figure;
plot(1:10); % create a simple line plot
a = gca; % get the current axis;
% set the width of the axis (the third value in Position)
% to be 60% of the Figure's width
a.Position(3) = 0.6;
% put the textbox at 75% of the width and
% 10% of the height of the figure
annotation('textbox', [0.75, 0.1, 0.1, 0.1], 'String', "pi value is " + pi)
This will produce the following figure: