How to align properly using sprintf?

31 visualizzazioni (ultimi 30 giorni)
Louis
Louis il 12 Mar 2018
Spostato: Voss il 14 Dic 2023
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!

Risposta accettata

Rik
Rik il 12 Mar 2018
Spostato: Voss il 14 Dic 2023
Using a fixed-width font will help if you're trying to align text with numbers of characters.
  3 Commenti
the cyclist
the cyclist il 12 Mar 2018
Spostato: Voss il 14 Dic 2023
It will work if you spell FixedWidth correctly. :-)
Louis
Louis il 12 Mar 2018
Spostato: Voss il 14 Dic 2023
Thanks for pointing that out. It works!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by