How to align properly using sprintf?
    16 views (last 30 days)
  
       Show older comments
    
I am trying to display information in subplot using sprintf to create messages. Sample code that I am using is below - even though left-justify and right-justify has constant values, the output doesn't look aligned.
    messages = {};
    messages{end+1} = sprintf(['\t%-20s',' : ','%10d'] , 'Feature 1', 152);
    messages{end+1} = sprintf(['\t%-20s',' : ','%10d'], 'other feature', 6509);
    messages{end+1} = sprintf(['\t%-20s',' : ','%10d'], 'N',3);
    text(-0.15, 0.7, messages, 'FontWeight', 'bold');
    axis off
Here is the screenshot of the output from running the above code:

I am hoping to have output that is better aligned, like below:
Feature 1      :     152
other feature  :    6509
N              :       3
Any help would be greatly appreciated!
0 Comments
Accepted Answer
  Rik
      
      
 on 12 Mar 2018
        
      Moved: Voss
      
      
 on 14 Dec 2023
  
      Using a fixed-width font will help if you're trying to align text with numbers of characters.
3 Comments
  the cyclist
      
      
 on 12 Mar 2018
				
      Moved: Voss
      
      
 on 14 Dec 2023
  
			It will work if you spell FixedWidth correctly. :-)
More Answers (0)
See Also
Categories
				Find more on Labels and Annotations in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

