Matplotlibをいじってみましたが、グラフの背景色を変更する方法や、背景を完全に透明にする方法がわかりません。
FigureとAxesの両方の背景全体を透明にしたい場合は、transparent=True
でFigureを保存するときにfig.savefig
を指定するだけです。
例えば。:
import matplotlib.pyplot as plt
fig = plt.figure()
plt.plot(range(10))
fig.savefig('temp.png', transparent=True)
よりきめ細かな制御が必要な場合は、FigureとAxesの背景パッチのフェースカラーやアルファ値を設定するだけです。 (パッチを完全に透明にするには、アルファを0に設定するか、facecolorを'none'
(オブジェクトNone
!ではなく文字列として)に設定します)
例えば。:
import matplotlib.pyplot as plt
fig = plt.figure()
fig.patch.set_facecolor('blue')
fig.patch.set_alpha(0.7)
ax = fig.add_subplot(111)
ax.plot(range(10))
ax.patch.set_facecolor('red')
ax.patch.set_alpha(0.5)
# If we don't specify the edgecolor and facecolor for the figure when
# saving with savefig, it will override the value we set earlier!
fig.savefig('temp.png', facecolor=fig.get_facecolor(), edgecolor='none')
plt.show()