Python Seaborn 図形を保存する

Manav Narula 2021年11月20日 Seaborn Seaborn Save
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")
チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
著者: 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