1. ホーム
  2. パイソン

[解決済み] matplotlib のプロットで左右の余白を小さくする

2022-04-05 20:29:01

質問

matplotlibでプロットの余白の処理に苦労しています。私は以下のコードを使ってグラフを作りました。

plt.imshow(g)
c = plt.colorbar()
c.set_label("Number of Slabs")
plt.savefig("OutputToUse.png")

しかし、プロットの両側にたくさんの空白がある出力図が得られます。googleで検索したり、matplotlibのドキュメントを読んだりしましたが、これを減らす方法が見つからないようです。

解決方法は?

これを自動的に行う方法のひとつが bbox_inches='tight' へのクワーグ plt.savefig .

import matplotlib.pyplot as plt
import numpy as np
data = np.arange(3000).reshape((100,30))
plt.imshow(data)
plt.savefig('test.png', bbox_inches='tight')

別の方法として fig.tight_layout()

import matplotlib.pyplot as plt
import numpy as np

xs = np.linspace(0, 1, 20); ys = np.sin(xs)

fig = plt.figure()
axes = fig.add_subplot(1,1,1)
axes.plot(xs, ys)

# This should be called after all axes have been added
fig.tight_layout()
fig.savefig('test.png')