Seaborn을 사용한 바이올린 플롯
violinplot()
함수는 이러한 그래프를 생성하고 커널 밀도 그래프와 상자 그림 간의 조합처럼 분포를 나타냅니다. 분석 및 통계학자가 범주 형 데이터의 분포를 이해하기 위해 많이 사용합니다. 기존 상자 그림에 비해 주요 장점은 여러 피크가있는 분포에도 사용할 수 있다는 것입니다.
줄거리의 바이올린 그림은 이해하기 조금 어려울 수 있지만 다른 통계 값을 나타낼 수 있습니다. 다음 그림이이를 설명합니다.
DataFrames 외에도violinplot()
함수는 단일 시리즈 객체, numpy 배열 또는 목록 벡터와 함께 작동 할 수 있습니다.
다음 예에서는 단일 변수의 바이올린 플롯 분포를 플로팅합니다.
import random
import numpy as np
n = random.sample(range(0, 50), 30)
arr = np.array(n)
sns.violinplot(n)
샘플 크기는 바이올린 플롯의 최종 수치에 큰 영향을 미칩니다. 작은 표본 크기의 경우 그림이 잘못 될 수 있습니다. 이것이 여전히 약간 혼란 스러우면 바이올린 플롯 위에 간단한 산점도를 그려 더 잘 이해할 수 있습니다.
예를 들면
import random
import numpy as np
n = random.sample(range(0, 50), 30)
arr = np.array(n)
sns.violinplot(n)
sns.stripplot(n, color="red")
여기서stripplot()
함수는 바이올린 플롯에 산점도를 표시합니다. 마찬가지로 바이올린 플롯 위에 상자 플롯을 플롯하여 둘 사이의 유사성과 차이점을 이해할 수도 있습니다.
violinplot()
의 주요 용도는 여러 범주의 데이터 분포를 보여주는 데이터 세트에 있습니다. 아래 코드에서이를 구현합니다.
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.violinplot(data=df, y="Price", x="Quantity", hue="Product")
2 일 동안 서로 다른 수량의 서로 다른 두 제품 가격 분포를 어떻게 효율적으로 플로팅 할 수 있었는지 주목하십시오. hue
매개 변수를 사용하여 서로 다른 색상으로 두 제품을 표시합니다.
최종 그림을 조정하고 수정하는 데 다른 많은 인수를 사용할 수 있습니다. split
매개 변수를 사용하여 카테고리를 쉽게 비교할 수 있습니다. 주문은order
매개 변수를 사용하여 관리 할 수 있습니다. inner
매개 변수를 사용하여 각 관측치를 플롯 내부에 표시 할 수 있습니다.
아래 코드에서 이러한 인수 중 일부를 사용하려고합니다.
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.violinplot(
data=df, y="Price", x="Quantity", hue="Product", inner="stick", split=True
)
violinplot()
함수는 matplotlib 축 유형 객체를 반환하여 이러한 모든 matplotlib 함수를 사용하여 최종 그림을 사용자 정의합니다. FacetGrid
유형 객체를 반환하려면catplot()
함수를 사용하고kind
매개 변수를violin
으로 지정할 수 있습니다.
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