火曜日, 10月 19, 2010

matplotlibで背景色を透明にする

グラフの画像出力をsavefig()で行うなら話は簡単。
savefig(filename, transparent=True)
では、それ以外(print_figure()を使うとか)では? こちらにFigureオブジェクトの属性を操作する方法が紹介されています。これを参考に以下のようにして対処することにしました。
fig = matplotlib.figure.Figure(figsize=(8,6), dpi=100)
fig.patch.set_alpha(0.0)
fig.clf()
ax = fig.add_subplot(1,1,1,position=[0.15,0.15,0.8,0.8])
ax.plot(…)
canvas = matplotlib.backends.backend_agg.FigureCanvasAgg(fig)
canvas.print_figure(filename, dpi=300)

0 件のコメント: