コメントの中で述べたように、あなたは通常、選択した方向にスペースがないようにFigureのサイズとsubplotparamsを設定します。 yaxisのサイズが保持される必要がある場合は、最初に長さを計算してから、Figureのサイズとサブプロットのパラメータを調整して、軸の長さを同じにします。個々の場合で決定される必要がtop = 0.94; bottom=0.09
値もちろん
import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(5,6), dpi=50)
ax.plot([1,2])
ax.set_ylabel("ylabel")
ax.set_xlabel("xlabel")
### 1. Original image
ax.set_title("original")
plt.savefig("fsi01.png", facecolor="#edf9f9")
### 2. tight bbox
ax.set_title('bbox_inches="tight"')
plt.savefig("fsi02.png", facecolor="#edf9f9", bbox_inches="tight")
### 3. Only vertical adjustent
axes_height = fig.get_size_inches()[1]*(fig.subplotpars.top-fig.subplotpars.bottom)
top = 0.94; bottom=0.09
fig.subplots_adjust(top=top,bottom=bottom)
fig.set_size_inches((fig.get_size_inches()[0],axes_height/(top-bottom)))
ax.set_title('only vertical adjust')
plt.savefig("fsi03.png", facecolor="#edf9f9")
plt.show()
。
正確な条件はここにありますか?先日、別の[類似の質問](https://stackoverflow.com/questions/47083648/save-matplotlib-plot-with-legend-on-the-right-in-predefined-width-height-ratio)に回答しました。 [この質問](https://stackoverflow.com/questions/42994338/creating-figure-with-exact-size-and-no-padding-and-legend-outside-the-axes)の回答も適応させることができます。あなたがあなたの質問を更新することができれば、それらがどれくらい遠くにあるか助けにならないかということを伝えるのが良いでしょう。 – ImportanceOfBeingErnest
'plt.subplots_adjust(top = 0.95)'ではないでしょうか? – DavidG
@ImportanceOfBeingErnestリンクありがとうございました。最初のものは私には新しいものです。確認してみるよ。私も見つけたが、それは私を助けませんでした。しかし、私は再びそれを見ます。これまで私が試したことは、更新された質問に記載されている要件の少なくとも1つを満たしていませんでした。 – Rickson