Seaborn BoxPlot

Manav Narula 2021년7월16일
Seaborn BoxPlot

Python의 seaborn 모듈을 사용하여 다양한 통계 그래프와 플롯을 만들 수 있습니다. seaborn.boxplot()함수를 사용하여 상자 그림을 만들 수 있습니다.

분석가와 통계학자는 자주 상자 그림을 사용하여 다양한 수준 또는 범주의 데이터를 나타냅니다. 상자 그림 그림은 많은 통계 값을 전달할 수 있습니다. 다음 그림은이를 설명합니다.

박스 플롯 정보

boxplot()함수는 데이터 세트의 범주 형 값을 그리는 데 효율적으로 작동하며 단일 목록 또는 배열 벡터로도 작동 할 수 있습니다. 바이올린 음모와 매우 유사합니다.

다음 예에서는 최종 그림에 대한 아이디어를 얻기 위해 단일 분포에 대한 상자 그림을 플로팅합니다.

import random
import numpy as np
import seaborn as sns

n = random.sample(range(0, 50), 30)
arr = np.array(n)
sns.boxplot(n)

단일 변수에 대한 상자 그림

상자 그림 위에 산점도를 그릴 수도 있습니다. 플롯 된 분포와 최종 그림을 더 잘 이해할 수 있습니다.

seaborn.stripplot()함수를 사용하여 분산 형 그래프를 플로팅합니다. 예를 들면

import random
import numpy as np
import seaborn as sns

n = random.sample(range(0, 50), 30)
arr = np.array(n)
sns.boxplot(n)
sns.stripplot(n, color="red")

boxplot의 stripplot

상자 그림을 효율적으로 활용하여 범주 형 변수를 표시하고 비교를 단순화 할 수 있습니다. 다음 코드에서는 여러 범주에 대한 상자 그림을 플로팅합니다.

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",
        ],
    }
)

sns.boxplot(data=df, y="Price", x="Quantity")

범주 형 데이터에 대한 상자 그림

위의 데이터 세트에서 다양한 수량의 가격을 쉽게 비교할 수있는 방법에 주목하십시오. hue매개 변수를 추가하고 그 값을Product변수로 설정할 수도 있습니다. 이렇게하면 제품마다 다른 상자를 그릴 수 있습니다.

matplotlib.pyplot.ylim()matplotlib.pyplot.xlim()을 사용하여 플롯의 x 및 y 축에 대한 제한을 설정할 수 있습니다.

더 많은 매개 변수를 사용하여 최종 플롯을 조정할 수 있습니다. linewidth매개 변수를 사용하여 상자 플롯의 테두리 두께를 늘릴 수 있습니다. palette매개 변수를 사용하여 다양한 카테고리의 색상을 사용자 정의 할 수 있습니다. 방향은orient인수를 사용하여 변경할 수 있습니다. 사용할 수있는 더 많은 인수가 있습니다.

이러한 매개 변수 중 일부의 적용을 이해하려면 아래 코드를 참조하십시오.

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",
        ],
    }
)

sns.boxplot(
    data=df, y="Price", x="Quantity", hue="Product", linewidth=2.5, palette="Set2"
)

인수가있는 여러 열에 대한 상자 그림

catplot()함수를 사용하여 상자 그림을 만들 수도 있습니다. catplot()함수는 범주 형 값을 그리는 데 매우 적합합니다. 이 함수를 사용하여 상자 그림을 만들려면catplot()함수의kind매개 변수 값을box로 지정해야합니다.

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