본문 바로가기
[업무 지식]/Seaborn

[lineplot] Timeseries plot with error bands

by 에디터 윤슬 2024. 11. 8.
import seaborn as sns
sns.set_theme(style="darkgrid")

# Load an example dataset with long-form data
fmri = sns.load_dataset("fmri")

seaborn

sns.lineplot(
    x="timepoint", 
    y="signal",
    hue="region", 
    style="event",
    data=fmri)

 

설명

  • sns.set_theme(style="darkgrid"): Seaborn의 테마를 설정하는 함수입니다.
    • style="darkgrid": 그래프의 배경을 어두운 그리드 스타일로 설정합니다. 이 스타일은 데이터 포인트와 선을 더 명확하게 보여주기 위해 그리드 라인을 강조합니다.
  • sns.load_dataset("fmri"): Seaborn에서 제공하는 예시 데이터셋 중 하나인 fmri(기능적 자기공명영상 데이터)를 불러옵니다.
    • 이 데이터는 long-form 형식으로, 각 열이 변수(예: 시간, 신호, 이벤트 등)를 나타내고 각 행이 관측값을 나타냅니다.
    • fmri 데이터셋에는 다음과 같은 열이 포함되어 있습니다:
      • subject: 실험에 참여한 피험자
      • timepoint: 시간 지점
      • event: 실험에서 자극(stim) 또는 신호(cue) 이벤트
      • region: 뇌의 영역 (parietal, frontal)
      • signal: 기록된 신호 값
  • sns.lineplot(): Seaborn에서 제공하는 선 그래프 함수로, 두 변수 간의 관계를 시각화할 때 사용됩니다.
    • x="timepoint": X축에 표시할 변수를 지정합니다. 여기서는 timepoint(시간 지점)를 X축에 표시합니다.
    • y="signal": Y축에 표시할 변수를 지정합니다. 여기서는 signal(신호 값)을 Y축에 표시합니다.
    • hue="region": 데이터의 범주를 색상으로 구분합니다. 여기서는 뇌의 영역(region)에 따라 색상이 달라집니다. 즉, parietal과 frontal 영역이 다른 색상으로 표시됩니다.
    • style="event": 선의 스타일(선 모양)을 구분하는 변수입니다. 여기서는 이벤트(event)에 따라 선 모양이 달라집니다. 예를 들어, 자극(stim)과 신호(cue)에 대해 각각 실선과 점선으로 구분됩니다.
    • data=fmri: 시각화할 데이터셋을 지정합니다. 여기서는 fmri 데이터셋을 사용합니다.
결론

이 시각화는 시간 경과에 따른 신호나 변수의 변화를 분석하고 여러 범주형 변수 간의 차이를 비교하는 데 매우 유용합니다. 특히 실험 결과나 시계열 데이터를 다룰 때 효과적으로 사용할 수 있으며, 다양한 분야에서 응용될 수 있습니다