私は、高さが軸の高さよりも大きい凡例(下のコードの結果のような)を持つプロットを持っています。今、私は軸の高さを伝説の終わりで終わるように伸ばしたいと思います。私が持っていると思いますがそのような何か(グリッドの底部またはダニの底が伝説で終わる場合、それは、問題ではありません)軸の高さを設定する - 凡例の高さに軸を伸ばします
import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0., 10.5, 0.5)
fig, ax = plt.subplots()
for c in range(0, 20):
ax.plot(t, t*c/2, label='func {}'.format(c))
ax.legend(bbox_to_anchor=(1.01, 1), loc=2, borderaxespad=0.)
私は(legend_hは常に= 1.0である)を追加次のコードではなく任意の影響を受けずに自分の目標を達成しようとした:
legend_h = ax.get_legend().get_window_extent().height
ax_height = ax.get_window_extent().height
if ax_height < legend_h:
fig.set_figheight(legend_h/ax_height * fig.get_figheight())
さらに、軸全体のプロパティではなく、軸自体のプロパティのみを変更できるといいですね。
編集: 私の主な目的は、スクリプトからフィギュアの生成を実行することですが、私はまた、Ipythonノートでそれを試してみました。 1つの試みは、高さを取得して新しいFigureの高さを設定する前に、Figureを一時的に格納することでした。しかし、それは正しい結果をもたらさなかった。
はい、Ipythonノートブックで動作していますが、スクリプトでは動作していません。 – AnnetteC
最後に 'fig.tight_layout()'を追加しようとしました。(これは凡例をちょっと傷つけることがあります) –
は動作しません。 – AnnetteC