Seaborn Figure를 Python으로 저장

Manav Narula 2021년6월24일
Seaborn Figure를 Python으로 저장

이 튜토리얼에서는 외부 파일에 Seaborn Figure를 저장하는 방법에 대해 설명합니다.

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")

jpeg,png등과 같은 다른 파일 형식을 지정할 수 있습니다. PDF와 같은 이미지가 아닌 형식으로 플롯을 저장할 수도 있습니다.

다른 인수를 사용하여 최종 그림을 사용자 정의 할 수도 있습니다.

예를 들어, 함수에dpi인수를 지정할 수 있습니다. dpi는 인치당 도트 수를 의미하므로 값이 높을수록 최종 이미지의 해상도가 높아집니다.

예를 들면

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")

사용 가능한 다른 인수로는transparent,frameon,facecolor,edgecolor가 있습니다.

최신 버전의 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