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")
위의 예에서 우리는 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()
hue
매개 변수를 사용하면 플롯의 총 수가 줄어 듭니다. add_legend()
함수는 최종 그림에 범례를 추가하는 데 사용됩니다.
이 클래스에서 많은 매개 변수와 함수를 사용하여 최종 그림을 조정할 수 있습니다. 예를 들어height
및aspect
매개 변수를 사용하여 최종 그림의 크기를 변경할 수 있으며set_titles()
함수를 사용하여 각 축에 플롯 할 제목을 추가 할 수 있습니다.set_xlabels()
함수 축 레이블 등을 변경합니다.
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