Python, matplotlibで背景が透明なグラフを作成する

目的

matplotlibで背景が透明なグラフを作成します。

以下のようなコードを用いてグラフを普通に作成すると、背景が白色の図が保存されます。

import matplotlib.pyplot as plt

x = [0,1,2,3,4,5,6,7,8,9,10]
y = [0,2,1,4,3,6,5,8,7,10,9]

fig,ax = plt.subplots()
ax.plot(x,y)

fig.savefig("img.png")
plt.show()

この状態では下の画像のようにグラフの周囲の白色背景が他のものに被ってしまい、邪魔に感じる場合があります。

そこで今回はグラフの前後に何かを配置しても邪魔にならないよう、背景が透明なグラフを作成することを目的とします。

サンプルコード

と言っても、内容はとても簡単です。

savefigの引数にtransparent=Trueを追加するだけです。

import matplotlib.pyplot as plt

x = [0,1,2,3,4,5,6,7,8,9,10]
y = [0,2,1,4,3,6,5,8,7,10,9]

fig,ax = plt.subplots()
ax.plot(x,y)

fig.savefig("img.png",transparent=True)
plt.show()

このようにしてグラフを保存することで、下の画像のように透明なグラフを作成することができます。

コメント

タイトルとURLをコピーしました