2016-06-13 11 views
0

plt.textを使用して、注釈付きテキストに数値を割り当てる際の問題に直面していますコマンド。plt.text(matplotlib.pyplot.text)のプレースホルダ(%d、%s)の使用

私は6つのサブプロットを持っているので、このプロセスを1つずつ書き込むのではなく、自動化したいと考えています。問題を含むコードスニペットは、以下に添付されています

# var=dictionary containing output variables 
    b=1 
> for i in var: 
>  
>  # Created Subplots for different vectors (includes labelling of axes) here 

     # Mean[] is an array containing mean values for all the plots 

     plt.text(X_cord,Y_cord, r'$\mu=$' %d, %d (Mean[b-1]), fontsize=14) 
>  
>  #tick-properties 
>  
>  # Setting limits for axes 
>  b+=1 

私は、Pythonにかなり新しいですのでPythonでプレースホルダを使用する方法について多くを知りません。私はウェブを通して検索したが、修正はあまり役に立たなかった。

私の質問は2つあります:plt.textの下のプレースホルダ(%d)を使用して、すべての手段を含む配列の要素を呼び出すことはできますか?はいの場合はどうですか?

+0

を? Pythonのメカニックをあなたが快適であるとの関係で説明することができれば、私はもっとあなたを助けることができます。 –

+0

ありがとうございました:)。下の質問はすでにHerbst氏がうまく答えています。私はCとMatlabのバックグラウンドから来ています。私がmech engineeringのバックグラウンドを経験して以来、これらの知識が豊富にあるわけではありません。 – SAkht312

答えて

3

は、以下のことを試してみてください。

for i, _ in enumerate(var): 
    plt.text(X_cord,Y_cord, r'$\mu=%s$' % (Mean[i]), fontsize=14) 

私は、文字列メソッド.format使用することを好む:あなたはどのようなコーディング背景から来るのか

for i, _ in enumerate(var): 
    plt.text(X_cord,Y_cord, r'$\mu={}$'.format(Mean[i]), fontsize=14) 
+0

ありがとうございます。 2つ目の修正は、小さな調整(中括弧の後に$を追加)の後に動作するようです。ただし、最初の修正は機能しません。理由を理解できません。 – SAkht312

+0

私はまた、第1の解決策に問題があります。あなたが '%'の後に書いた文字は結果に影響を与えます。使用される文字は、指定されたデータ型に対して正しいものでなければなりません。 –

関連する問題