How to align properly using sprintf?

30 ビュー (過去 30 日間)
Louis
Louis 2018 年 3 月 12 日
移動済み: Voss 2023 年 12 月 14 日
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!

採用された回答

Rik
Rik 2018 年 3 月 12 日
移動済み: Voss 2023 年 12 月 14 日
Using a fixed-width font will help if you're trying to align text with numbers of characters.
  3 件のコメント
the cyclist
the cyclist 2018 年 3 月 12 日
移動済み: Voss 2023 年 12 月 14 日
It will work if you spell FixedWidth correctly. :-)
Louis
Louis 2018 年 3 月 12 日
移動済み: Voss 2023 年 12 月 14 日
Thanks for pointing that out. It works!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by