Hello! I am very new to matlab and am trying to put a text box in a plot with the value of a variable. The variable is located in a cell array. This is my code:
figure
polarplot(FR{4})
annotation('textbox','String','Mutual Info =',num2str(mutualInfoTotal{4}))
But I am getting an error message that says "Error using matlab.graphics.shape.TextBox. Invalid parameter/value pair arguments."
If I want to create a plot with a textbox in it that says 'Mutual Info =,' then call the mutual info value of a variable, what would be the correct code?

 Accepted Answer

Adam Danz
Adam Danz on 22 Apr 2020
Edited: Adam Danz on 22 Apr 2020
Try
annotation('textbox','String',['Mutual Info =',num2str(mutualInfoTotal{4})])
or
annotation('textbox','String',sprintf('Mutual Info = %s',num2str(mutualInfoTotal{4})))
or if mutualInfoTotal{4} is a single, scalar value,
annotation('textbox','String',sprintf('Mutual Info = %d',mutualInfoTotal{4})) % for integer
% or
annotation('textbox','String',sprintf('Mutual Info = %.3f',mutualInfoTotal{4})) % for 3 dp

2 Comments

Great, thanks! The first one worked. Follow-up question: right now, the textbox is placed in the middle of the polarplot. How can I put it on the outside of the plot?
See the syntax, annotation(lineType,x,y) where x and y are the location & size of the annotaiton object.

Sign in to comment.

More Answers (0)

Asked:

on 22 Apr 2020

Commented:

on 22 Apr 2020

Community Treasure Hunt

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

Start Hunting!