Matplotlib의 eventplot 함수는 시간 또는 특정 지점에서 발생한 이벤트를 수평선(또는 수직선) 형태로 시각화하는 데 사용됩니다. 이벤트 발생 시점이나 시간 기반 데이터를 시각화하는 데 특화된 도구입니다. 주로 신경과학의 스파이크 트레인(spike trains), 프로젝트 타임라인의 이벤트, 또는 시계열 이벤트 데이터를 표현할 때 사용됩니다.
기본 개념 및 특징
- 수직/수평 막대로 이벤트를 표시합니다.
- 동시성 이벤트를 여러 줄로 표현할 수 있습니다.
- 각 이벤트의 위치, 색상, 길이를 유연하게 조정할 수 있습니다.
주요 파라미터
- positions (필수):
이벤트 위치를 리스트 형태로 지정합니다.
예:[1, 2, 3]
→ 1, 2, 3 위치에 이벤트 표시.
여러 줄을 표현하려면 리스트의 리스트를 사용합니다.
예:[[1, 2], [3, 4]]
→ 두 줄에 각각 이벤트 표시. - orientation:
'vertical'
(기본값): 수직 이벤트.'horizontal'
: 수평 이벤트.
- lineoffsets:
여러 줄의 위치를 지정합니다. 기본값은[1]
이며,positions
의 길이와 일치해야 합니다. - linelengths:
이벤트 막대의 길이 (기본값:1
). - colors:
이벤트 색상 (기본값: 검정색).
Eventplot Code
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
data1 = np.random.rand(100) * 10
data2 = np.random.rand(100) * 10
plt.figure(figsize=(10, 6))
plt.eventplot([data1, data2], colors=['b', 'g'])
plt.xlabel('Event Position')
plt.ylabel('Event Type')
plt.title('Event Plot Example')
plt.grid(True) # Add grid for better visualization
plt.show()
- positions는 반드시 리스트의 리스트 형태여야 합니다.
- lineoffsets와 positions의 길이가 일치해야 합니다.
eventplot과 raster plot의 차이점
특징 | eventplot | raster plot |
---|---|---|
용도 | 이벤트 발생 시점 시각화 | 뉴런 스파이크 분석, 신경과학 데이터 |
형태 | 수직선 또는 수평선 | 점 또는 막대 |
커스터마이징 | 선 길이, 색상 변경 가능 | 점의 크기, 색상 조절 가능 |
eventplot은 로그 데이터, 신경과학 연구, 네트워크 이벤트 등을 시각화하는 데 적합하며, raster plot과 유사하지만 선형 스타일을 제공합니다.기능을 활용하면 효과적으로 이벤트 데이터를 표현할 수 있습니다