Seaborn의 FacetGrid

Manav Narula 2021년7월16일
Seaborn의 FacetGrid

seaborn 모듈은 시각화하고 Python에서 아름다운 통계 그래프를 만드는 데 사용됩니다. 이는 matlplotlib 라이브러리를 기반으로하며 사용합니다. 때로는 여러 차트를 한 번에 표시하는 상황이 발생하여 데이터 세트를 더 명확하게 이해할 수 있습니다. 이러한 상황에서는 seaborn 모듈의FacetGrid클래스를 사용할 수 있습니다.

이 튜토리얼은 파이썬에서 seaborn 모듈의FacetGrid클래스를 사용하는 방법을 소개합니다.

FacetGrid클래스는 여러 플롯에 대한 그리드를 생성하여 데이터의 다른 하위 집합과 데이터 분포 간의 관계를 시각화하는 데 사용됩니다. 행 및 열 축을 지정하여 그리드에 데이터 세트를 플로팅합니다. 복잡한 데이터 세트로 작업 할 때 편리합니다.

relplot(),lmplot()catplot()과 같은 다양한 seaborn 플롯은 기본적으로이 클래스를 사용합니다.

seaborn.FacetGrid()생성자를 사용하여이 클래스의 객체를 시작합니다. 다음 코드를 참조하십시오.

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

df = pd.DataFrame(
    {
        "Quantity": [5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8],
        "Price": [9, 10, 15, 16, 13, 14, 15, 18, 11, 12, 14, 15, 16, 17, 18, 19],
        "Day": [1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2],
        "Product": [
            "A",
            "A",
            "A",
            "A",
            "B",
            "B",
            "B",
            "B",
            "A",
            "A",
            "A",
            "A",
            "B",
            "B",
            "B",
            "B",
        ],
    }
)

g = sns.FacetGrid(df, col="Product", row="Day")
g.map(sns.lineplot, "Price", "Quantity")

Seaborn FacetGrid

위의 예에서 우리는 2 일 동안 다른 수량의 다른 제품에 대한 가격을 표시했습니다. seaborn.FacetGrid()생성자를 사용하여 그리드를 생성하고 행과 열 값으로 초기화했습니다. map()함수를 사용하여 플로팅 할 원하는 플롯과 변수를 지정합니다. 비교적 간단한 데이터 세트를 사용하여 원하는 결과를 얻을 수있었습니다. 또한이 클래스에서 hue라는 세 번째 축을 사용할 수 있습니다. 이렇게하면 동일한 그래프에서 서로 다른 범주의 데이터가 서로 다른 색상으로 표시됩니다.

앞서 언급 한 예제에서 코드를 변경하고hue매개 변수를 추가합니다. 예를 들면

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

df = pd.DataFrame(
    {
        "Quantity": [5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8],
        "Price": [9, 10, 15, 16, 13, 14, 15, 18, 11, 12, 14, 15, 16, 17, 18, 19],
        "Day": [1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2],
        "Product": [
            "A",
            "A",
            "A",
            "A",
            "B",
            "B",
            "B",
            "B",
            "A",
            "A",
            "A",
            "A",
            "B",
            "B",
            "B",
            "B",
        ],
    }
)

g = sns.FacetGrid(df, col="Product", hue="Day")
g.map(sns.lineplot, "Price", "Quantity")
g.add_legend()

색조 매개 변수가있는 seaborn FacetGrid

hue매개 변수를 사용하면 플롯의 총 수가 줄어 듭니다. add_legend()함수는 최종 그림에 범례를 추가하는 데 사용됩니다.

이 클래스에서 많은 매개 변수와 함수를 사용하여 최종 그림을 조정할 수 있습니다. 예를 들어heightaspect매개 변수를 사용하여 최종 그림의 크기를 변경할 수 있으며set_titles()함수를 사용하여 각 축에 플롯 할 제목을 추가 할 수 있습니다.set_xlabels()함수 축 레이블 등을 변경합니다.

작가: 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