gca() 함수
- 그래프로 시각화하다보면, 이상치로 의심되는 부분을 표시하거나
- 경향성을 선이나, 사각형, 원(타원) 등으로 표시하고 싶다. 그때 사용하는 것이 gca() 함수이다
- 현재 활성화된 Figure에 대응하는 Axes 객체를 반환 : "gca"는 "get current axes"의 약어
예제 상황과 코드
- 버스 운행 거리가 1000이하이면서 운행 시간이 1000이상일 때 운행 거리에 비례하여 운행 시간이 증가하지 않는 것을 확인함
- 따라서 직사각형으로 이 구간을 표시함으로써 해당 구간이 이상치인지 조금 더 명확하게 확인할 예정
- plt.gca().add_patch() : 현재 그래프에 새로운 패치(patch)를 추가
- 패치는 그래프에 도형을 그리는 데 사용됨
- patches.Rectangle()은 사각형 패치를 생성하는 함수
- 현재 그래프에 (0, 1000) 좌표를 왼쪽 하단 모서리로 하고, 너비가 1000이고 높이가 2000인 테두리만 있는 사각형을 추가
import matplotlib.patches as patches
x = train['distance']
y = train['next_arrive_time']
plt.figure(dpi = 150)
plt.title('거리 vs 운행시간')
plt.xlabel('거리')
plt.ylabel('운행시간')
plt.scatter(x,y, alpha = 0.3)
# 이상치 표시하기 - 직사각형
plt.gca().add_patch(
patches.Rectangle(
(0, 1000),
1000, 2000,
edgecolor = 'deeppink',
fill=False,
))
plt.show()
추가 예제 : 그래프에 타원 그리기(경향성 시각화)
temp = train[(train['distance'] > 1000) & (train['next_arrive_time'] < 1000)]
x = temp['distance']
y = temp['next_arrive_time']
plt.figure(dpi = 150)
plt.scatter(x,y, alpha = 0.3)
# 운행시간 분포 표시하기 - 타원
plt.gca().add_patch(
patches.Ellipse(
(4000, 600),
8000, 800,
edgecolor = 'deeppink',
fill=False,
angle=3
))
plt.show()
728x90
'Python > Data Visualization' 카테고리의 다른 글
시각화 준비용 코드 (한글폰트 설정 & 경고 무시) (0) | 2023.08.30 |
---|---|
랜덤 포레스트 모델 검증 시각화 (0) | 2023.08.30 |
[folium 라이브러리] 위도 경도 정보를 활용한 지도 그리기 (0) | 2023.08.24 |
[연속형 변수 단일값 시각화] Univariate analysis of continuous variables (0) | 2023.08.22 |
[구글 colab 데이터 시각화] 한글 폰트 설정 (0) | 2023.08.16 |