2017-02-07 13 views
1

Y軸のタイトルを水平になるように回転しようとしています。私は、目盛りのラベルをY軸のタイトルだけに水平にしたくありません。私は一度に複数のプロットを作成しているので、サブプロットを使用する必要があります。 Y軸のタイトルを回転させようとした以下のスクリプトがあります。私はそれを実行するとmatplotlibでY軸のタイトルを水平にする

import matplotlib.pyplot as plt 
import sys 

fig, ax = plt.subplots() 

ax.set_title(r'$\alpha$ > \beta_i$', fontsize=20) 
ax.set(xlabel='meters $10^1$', ylabel=r'Hertz $(\frac{1}{s})$') 
ax.set(xlabel=r's(t) = \mathcal(A)\/\sin(2 \omega t)', ylabel=r'Hertz $(\frac{1}{s})$') 
ax.set(ylabel="North $\uparrow$",fontsize=9,rotate=90) 
plt.show() 

私はエラーを取得する:Y軸が水平に回転しているように

TypeError: There is no AxesSubplot property "rotate"

は、どのように私はこのプログラムを微調整することができますか?

答えて

1

ax.setを使用すると、ylabelテキストオブジェクトのプロパティではなく、axesのプロパティを設定しようとしています。

むしろax.setを使用するよりもあなたの代わりに、xとyのラベルを作成し、その外観を変更するkwargsからに渡すxlabelylabelを使用することができます。また、プロパティ名はrotateではなくrotationです。また、rotation0に設定すると、デフォルトは90であるため、最初は回転しています。

plt.title(r'$\alpha > \beta_i$', fontsize=20) 
plt.xlabel(r'meters $10^1$', fontsize=9) 
plt.ylabel("North $\uparrow$", fontsize=9, rotation=0) 

enter image description here

関連する問題