デフォルトでは、matplotlib
軸ラベルは軸の中央にプロットされます。水平軸と垂直軸の両方で、軸の端に揃うようにラベルを移動したいと思います。たとえば、水平軸の場合は次のようになります。
+--------------------+
| |
| |
| |
| |
| |
+--------------------+
label
matplotlib のグローバル設定でそれを行うことは可能ですか?
ベストアンサー1
アップデート
loc=…
現在の2023年のMatplotlibには、新しいキーワードが追加されましたplt.[xy]label
。ドキュメント文字列
よりxlabel
loc : {'left', 'center', 'right'},
The label position. This is a high-level alternative for passing
parameters *x* and *horizontalalignment*.
簡単に書くと
plt.xlabel('x_description', loc='right')
plt.ylabel('y_description', loc='top')
私の他の回答もまだ良い回答です。オブジェクトを取得し、それを変更して元に戻すという考え自体は良いアイデアですが、ここでは別の、よりクリーンな解決策を示します。
...
plt.xlabel('x_description', horizontalalignment='right', x=1.0)
plt.ylabel('y_description', horizontalalignment='right', y=1.0)
...
ご覧のとおり、マジックナンバーはもう存在せず、 はxlabel
との両方で機能しますylabel
。
どちらの場合も、水平方向の配置を変更することに注意してください。その理由は、最初に垂直方向の配置を変更したときに明らかになりましたylabel
。