2017-09-28 5 views
2

数値が科学記法で表示されるプロットにテキストボックスを追加したいと思います。 ここに私のコード:Matlab:テキストボックスに科学記法を適用する

fano = 74585849.3443; figure; plot(x,y) annotation('String',['fano =',num2str(fano)],'FitBoxToText','on'); ここではfanoは10進数で表示されます。書式を科学記法に変更するにはどうすればよいですか?

答えて

2

関数sprintfで目的の文字列を作成することができます。小数点以下桁数が異なる3つの例を示します。 %M.Ndでテキストを書式設定するとき、Mはフィールド幅を指定します。Nは精度(小数点以下桁数)を表し、dは小数点以下を表します(符号付き)。以下は小数点以下2桁、5桁、8桁の3つの異なる例です。 dimは、[x_location y_location width height]という形式で、図形サイズに対して正規化された単位でテキストボックスの位置とサイズを持つ配列です。あなたのケースでは、 'FitBoxToText'プロパティを使用しているので、幅と高さは関係ありません。ここで

fano = 74585849.3443; 
figure; 
x = 0:0.01:10; 
y = sin(2*pi*1*x); 
plot(x,y); 
dim = [.5 .85 .0 .0]; 
str = sprintf('fano = %0.2d',fano); 
annotation('textbox',dim,... 
    'String',str,... 
    'FitBoxToText','on',... 
    'BackgroundColor','white'); 
dim = [.5 .65 .0 .0]; 
str = sprintf('fano = %0.5d',fano); 
annotation('textbox',dim,... 
    'String',str,... 
    'FitBoxToText','on',... 
    'BackgroundColor','white'); 
dim = [.5 .45 .0 .0]; 
str = sprintf('fano = %0.8d',fano); 
annotation('textbox',dim,... 
    'String',str,... 
    'FitBoxToText','on',... 
    'BackgroundColor','white'); 

が出力されます。

enter image description here

関連する問題