Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Seaborn FacetGrid와 Matplotlib으로 데이터프레임에서 오차 막대 그리기

Seaborn의 FacetGrid와 Matplotlib의 errorbar 함수를 함께 사용하면 데이터프레임에서 조건별로 나누어 오차 막대(error bar)를 손쉽게 시각화할 수 있습니다. 아래 단계와 예제 코드를 통해 구현 방법을 살펴보겠습니다.

구현 절차

  • 2차원 테이블 형태이며 크기 변경이 가능하고 서로 다른 타입의 데이터를 담을 수 있는 데이터프레임(DataFrame)을 준비합니다.
  • 조건부 관계를 시각화하기 위한 멀티 플롯 그리드(FacetGrid)를 생성합니다.
  • 각 패싯(facet)에 해당하는 데이터 하위 집합에 플로팅 함수(여기서는 plt.errorbar)를 적용합니다.
  • 마지막으로 show() 메서드를 호출하여 그래프를 화면에 출력합니다.

예제 코드

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

df = pd.DataFrame({'col1': [3.0, 7.0, 8.0],
                   'col2': [1.0, 4.0, 3.0]})

g = sns.FacetGrid(df, col="col1", hue="col1")
g.map(plt.errorbar, "col1", "col2", yerr=0.75, fmt='o')

plt.show()

실행 결과

Seaborn FacetGrid와 Matplotlib으로 데이터프레임에서 오차 막대 그리기

위 코드에서는 sns.FacetGrid()colhue 인자에 col1을 지정하여 열(column) 방향으로 패싯을 분리하고, 각 값마다 다른 색상이 적용되도록 설정했습니다. 이후 g.map()plt.errorbar를 전달하면 각 패싯의 데이터에 대해 x축은 col1, y축은 col2 값을 기준으로 오차 막대가 그려집니다. yerr=0.75는 y방향 오차 범위를, fmt='o'는 데이터 포인트를 원형 마커로 표시하라는 의미입니다.