import seaborn as sns
sns.set_theme(style="ticks")
dots = sns.load_dataset("dots")
dots
seaborn
# Define the palette as a list to specify exact values
palette = sns.color_palette("rocket_r")
# Plot the lines on two facets
sns.relplot(
data=dots,
x="time",
y="firing_rate",
hue="coherence",
size="choice",
col="align",
kind="line",
size_order=["T1", "T2"],
palette=palette,
height=5,
aspect=.75,
facet_kws=dict(sharex=False),
)
설명
- sns.set_theme(style="ticks"): Seaborn의 테마를 설정하는 함수입니다. 여기서는 "ticks" 스타일을 사용하여 그래프에 눈금(ticks)이 강조된 깔끔한 스타일을 적용합니다.
- sns.load_dataset("dots"): Seaborn에서 제공하는 dots라는 예시 데이터셋을 불러옵니다. 이 데이터셋은 시간(time)과 신경 신호(firing_rate)와 관련된 실험 데이터를 포함하고 있습니다.
- 주요 변수:
- time: 시간
- firing_rate: 신경 신호의 발화율
- coherence: 자극의 일관성(숫자형 변수)
- choice: 피험자가 선택한 옵션 (T1 또는 T2)
- align: 데이터 정렬 기준 (dots 또는 sacc)
- 주요 변수:
- palette = sns.color_palette("rocket_r"): Seaborn의 color_palette() 함수를 사용하여 색상 팔레트를 설정합니다. 여기서는 "rocket_r"라는 역순으로 된 팔레트를 사용하여 색상을 지정합니다. 이 팔레트는 어두운 색상에서 밝은 색상으로 변하는 그라데이션을 제공합니다.
- sns.relplot(): Seaborn의 관계형(relational) 플롯 함수로, 두 변수 간의 관계를 시각화합니다. 이 함수는 여러 축으로 데이터를 나누어 시각화할 수 있는 기능을 제공합니다.
- data=dots: 시각화할 데이터셋을 지정합니다. 여기서는 dots 데이터셋을 사용합니다.
- x="time": X축에 표시할 변수를 지정합니다. 여기서는 time(시간)을 X축에 표시합니다.
- y="firing_rate": Y축에 표시할 변수를 지정합니다. 여기서는 firing_rate(신경 발화율)를 Y축에 표시합니다.
- hue="coherence": 데이터의 범주를 색상으로 구분합니다. 여기서는 자극의 일관성(coherence)에 따라 선의 색상이 달라집니다.
- size="choice": 점 또는 선의 크기를 선택한 옵션(choice)에 따라 다르게 설정합니다. 즉, T1과 T2에 따라 크기가 달라집니다.
- col="align": 데이터 정렬 기준(align)에 따라 열 방향으로 플롯을 나눕니다. 즉, "dots"와 "sacc" 두 가지 정렬 기준에 대해 별도의 플롯이 생성됩니다.
- kind="line": 선 그래프를 그리도록 설정합니다.
- size_order=["T1", "T2"]: choice 변수의 순서를 지정하여 T1과 T2가 각각 어떻게 시각화될지 결정합니다.
- palette=palette: 앞서 정의한 "rocket_r" 색상 팔레트를 사용하여 선의 색상을 설정합니다.
- height=5: 각 플롯의 높이를 5인치로 설정합니다.
- aspect=.75: 플롯의 가로 세로 비율을 조정하여 각 플롯이 더 좁고 길게 나타나도록 설정합니다.
- facet_kws=dict(margin_titles=True): FacetGrid에서 사용할 추가적인 키워드 인자를 설정합니다. margin_titles=True는 각 플롯의 제목을 여백에 표시하도록 합니다.
결론
- 이 시각화는 다음과 같은 경우 유용하게 사용할 수 있습니다:
- 시간(time)에 따른 연속형 변수(예: 신경 발화율)의 변화를 분석하고자 할 때.
- 여러 범주형 변수(예: coherence, choice)에 따라 데이터를 그룹핑하고 비교하고자 할 때.
- 실험 결과나 생리적 반응 데이터를 시각적으로 분석하고자 할 때.
- 뇌파 데이터뿐만 아니라 다양한 분야에서 적용 가능하며, 특히 실험 데이터를 시각적으로 표현하는 데 매우 유용한 도구입니다
'[업무 지식] > Seaborn' 카테고리의 다른 글
[barplot] Grouped boxplots (0) | 2024.11.09 |
---|---|
[catplot] Grouped barplots (0) | 2024.11.09 |
[displot] Facetting histograms by subsets of data (0) | 2024.11.09 |
[lineplot] Timeseries plot with error bands (0) | 2024.11.08 |
[lmplot] Anscombe’s quartet (0) | 2024.11.08 |