Matplotlibを使用していくつかのグラフを作成していますが、残念ながら白い背景なしではエクスポートできません。
言い換えると、このようなプロットをエクスポートして別の画像の上に配置すると、白い背景が透けて見えるのではなく、背後にあるものを隠します。代わりに透明な背景を持つプロットをエクスポートするにはどうすればよいですか?
Matplotlib savefig
関数とキーワード引数transparent=True
を使用して、画像をpngファイルとして保存します。
In [30]: x = np.linspace(0,6,31)
In [31]: y = np.exp(-0.5*x) * np.sin(x)
In [32]: plot(x, y, 'bo-')
Out[32]: [<matplotlib.lines.Line2D at 0x3f29750>]
In [33]: savefig('demo.png', transparent=True)
結果:
もちろん、そのプロットは透明性を示していません。 ImageMagick display
コマンドを使用して表示されたPNGファイルのスクリーンショットを次に示します。チェッカーボードパターンは、PNGファイルの透明部分を通して見える背景です。
PNGファイルは透明度を処理できます。したがって、この質問を使用できます Matplotlibを使用してプロットを画像ファイルに保存するのではなく、画像ファイルに保存します グラフをpng
ファイルとして保存します。
そして、すべての白いピクセルを透明にしたい場合、この他の質問があります: PILを使用してすべての白いピクセルを透明にしますか?
エリア全体を透明にしたい場合は、この質問があります:そして、この質問のようにPILライブラリを使用します Python PIL:PNGでエリアを透明にする方法? グラフを作成するトランスペアレント。