2017-03-03 11 views
0

に応じて、プロット上のテキストを追加すると、だから私はこの次のプロット軸の範囲

このコード

for j in range(a.shape[1] // 2): 
z = np.polyfit(a[:, 2* j], a[:, 2 * j + 1], 1) 
p = np.poly1d(z) 
e[j]=z[0] 
plt.plot(a[:, 2* j],p(a[:, 2* j])) 
g.show() 

から来

を持っているコードが複雑に思えるかもしれないが、ここで問題はないのthats。問題はプロット内のテキストです。私は注釈に

plt.annotate('Mean stiffness k', xy=(3,7),fontsize=8, fontweight='semibold', fontstyle='italic')  
plt.annotate(Stiffness, xy=(6,7)) 
plt.annotate('N/m', xy=(7.5,7)) 
plt.annotate('Mean modulus E', xy=(3,6.5),fontsize=8, fontweight='semibold', fontstyle='italic')  
plt.annotate(Emodulus, xy=(5.9,6.5)) 
plt.annotate('N/m^2', xy=(8.9,6.5)) 

そしていただきまし迷惑な私は毎回私は、yとプロットが増加/減少のx値は、私はすべてを調整する必要が異なるデータのセットを、持っているということですを使用してテキストを書かれていますアノテーションの上に!むしろ私は何とか私のテキストをリンクされ、常に左上隅に固定されるようにしたいと思っています。

誰かが私を助けることを望みます!

+0

最初のコードサンプルでインデントを修正できますか?それを好きなように使用すると、エラーが発生します。 – jotasi

答えて

0

あなたはかなり珍しい方法で注釈を使用しています。名前が示唆するように、データポイントに注釈を付けるために使用されるため、デフォルトではデータ座標が入力として使用されます。
これは変更できます。完全な概要については、the documentationを参照してください。

ここでの考え方は、「axes fraction」の座標を指定することです。すなわち、軸の左下隅は(0,0)に対応し、右上の1は(1,1)に対応する。注釈で軸座標を指定するには、追加のxycoords="axes fraction"引数を使用します。

import matplotlib.pyplot as plt 
plt.plot([8,154,66]) 
plt.annotate('Mean stiffness k', xy=(.3,.7), xycoords="axes fraction") 
plt.show() 
関連する問題