5

matplotlibプロットをファイルにプロットするために使用しbarhています。残念ながら、YTickLaels が少し長すぎて、プロット エリアが自動的に右に移動しません。不完全な YTickLabels で問題が発生しないように、プロット エリアを自動的に右に移動する方法はありますか?

私が使用するコードは次のとおりです。

import matplotlib as mpl
mpl.use('Agg')
import matplotlib.pyplot as plt
D = {u'Label1':26, u'Label2 is longer than others': 17, u'Label3 is not so short either':30}
fig = plt.figure(figsize=(5.5,3),dpi=300)
ax = fig.add_subplot(111)
ax.grid(True,which='both')
bar = ax.barh(range(1,len(D)+1,1),D.values(),0.4,align='center')
plt.yticks(range(1,len(D)+1,1), D.keys(), size='small')
fig.savefig('D_bar.png')

出力は次のとおりです。 バーの出力

どうすればこれを修正できますか? ありがとう

4

2 に答える 2

1

matplotlib メーリング リストによると、これを自動的に行う方法はありません。ただし、メソッドを使用してサブプロットのパディングを手動で調整できますfigure.subplots_adjustfig.subplots_adjust(left = 0.4)コードの後に​​配置するax = fig.add_subplot(111)と、次の結果が得られます。

ここに画像の説明を入力

于 2013-04-15T09:38:01.433 に答える