Python Seaborn 図形を保存する

Manav Narula 2021年11月20日
Python Seaborn 図形を保存する

このチュートリアルでは、Seaborn 図形を外部ファイルに保存する方法について説明します。

matplotlib.pyplot.savefig() 関数を使用します。この関数を使用して、外部ファイルにエクスポートできます。

関数自体で、ファイル名とその形式、およびファイルのパスを指定する必要があります。

例えば、

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)

sns.lineplot(data=df)
plt.savefig("filename.png")

jpegpng などの他のファイル形式を指定できます。PDF などの非画像形式でプロットを保存することもできます。

さまざまな引数を使用して、最終的な図をカスタマイズすることもできます。

たとえば、関数で dpi 引数を指定できます。dpi は 1 インチあたりのドット数を意味するため、値を大きくすると最終画像の解像度が高くなります。

例えば、

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)

sns.lineplot(data=df)
plt.savefig("filename.png", dpi=300)

必要に応じて、orientation パラメータを使用して方向を変更できます。デフォルトでは、向きは portrait です。

以下のコードでは、最終的な図を横向きで保存しています。

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)

sns.lineplot(data=df)
plt.savefig("filename.png", orientation="horizontal")

利用可能な他の引数は、transparentframeonfacecoloredgecolor であり、最終的にエクスポートされた図にさらにカスタマイズを提供します。

seaborn の最近のバージョンでは、savefig() 関数を直接使用すると、一部のプロットでエラーが発生する可能性があることに注意してください。このような場合は、get_figure() 関数も使用する必要があります。この関数は、必要な Figure のインスタンスを取得し、savefig() 関数を使用してそれをエクスポートできます。

次のコードはこれを示しています。

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)

splot = sns.lineplot(data=df)
sfig = splot.get_figure()
sfig.savefig("filename.png", orientation="landscape")
著者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn