error using text()
    6 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
I want to put a text on a plot using the following code:
x_pos=0.0031;
y_pos=0.0507
str_=['R^2 (%) = ' num2str(R_squared)];
text(x_pos,y_pos , str_)
it used to work but now it refuses to work and gave me the following error:
??? Error using ==> text
Not enough input arguments.
However, if I use the following code, it will work:
text(0.0031, 0.0507 , str_)
I don't know what the problem is. Could you please help me about that?
0 commentaires
Réponse acceptée
  Matt Fig
      
      
 le 27 Avr 2011
        Works here:
    clear all,close all,clc
    R_squared = .5;
    x_pos=0.0031; 
    y_pos=0.0507; 
    str_=['R^2 (%) = ' num2str(R_squared)]; 
    text(x_pos,y_pos , str_)
I see some text on an axes...
%
%
%
EDIT
I see what you mean now. I get the same error when y is single. If x is single, I get a different error. As I don't see this documented anywhere, I wonder if it is a bug. For now, doing this will make sure you get your text:
text(double(x_pos),double(y_pos),str_)
%
%
%
%
EDIT#2
I think this is buggy. This works with singles, but the other calling format, see above, doesn't:
R_squared = .5;
x_pos=single(0.0031);
y_pos=single(0.0507);
str_=['R^2 (%) = ' num2str(R_squared)];
text('position',[x_pos,y_pos] ,'string',str_)
11 commentaires
  Matt Fig
      
      
 le 27 Avr 2011
				By bug I mean:
Most MATLAB functions nowadays work with either single or double. 
The documentation for TEXT does not specify that the inputs must be of type double. 
One calling format works fine with single values, the other doesn't. 
If this is not a bug, it is at least inconsistent. 
Plus de réponses (2)
  Chethan Pandarinath
 le 31 Déc 2013
        Just wanted to confirm that I see this issue in MATLAB R2012b: text() fails if either of the passed in x- or y-position arguments is a single (and it fails with a non-sensical "Not enough input arguments" error). Casting x- and y-position to double fixes the problem.
Agreed with Matt that this should be marked as a bug, as there is nothing in the documentation specifying that the x and y position arguments must be doubles.
Thank you for your post and for the workaraound.
0 commentaires
  Sumana
 le 27 Nov 2023
        My code is:
for i = 1:length(props)
    % Extract bounding box and centroid information
    boundingBox = props(i).BoundingBox;
    centroid = props(i).Centroid;
    % Text to be displayed
    textToDisplay = sprintf('Object %d', i);
    % Add text to the image
    text(centroid(1), centroid(2), textToDisplay, 'Color', 'r', 'FontSize', 10, 'FontWeight', 'bold');
end
i am supposed to receive an image where bounding box and centroid will be displayed, but i am getting a white image having x and y axis, please tell me the reason
0 commentaires
Voir également
Catégories
				En savoir plus sur Deep Learning Toolbox dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!