본문 바로가기
Python 데이터 분석 입문

(Python 데이터 분석 입문 10편) 인터렉티브 그래프 그리기

by mangoseed3434 2025. 12. 27.

안녕하세요? mangoseed3434입니다.

 

이번에는 인터랙티브 그래프를 만드는 방법에 대해 실습할 수 있었습니다.

 

오늘도 'Do it! 쉽게 배우는 파이썬 데이터 분석'에 수록된 가이드를 따라하면서 포스팅을 작성합니다.

 

 


 

1. 인터랙티브 그래프(Interactive Graph)란?

 

인터랙티브 그래프 (Interactive Graph)

: 마우스 커서에 반응하며 실시간으로 범위를 바꿔서 볼 수 있는 그래프

 

인터랙티브 그래프를 통해 원하는 부분 혹은 관심 있는 부분만 선택적으로 자세히 볼 수 있다.

 

Python으로 인터랙티브 그래프를 그리기 위해서는 3단계의 준비가 필요하다.

 

1단계 : plotly 패키지 설치 ( cmd 열기 → pip install plotly 입력 및 엔터 )

2단계 : jupyter-dash 패키지 설치 ( cmd 열기 → pip install jupyter-dash 입력 및 엔터 )

3단계 : Jupyter lab 재부팅

 

jupyter-dash 패키지는 plotly 패키지로 만든 그래프를 노트북에 출력하는 패키지이다.

 


 

2. 산점도(Scatter Plot) 그리기

 

px.scatter( ) 함수

 

plotly 패키지를 이용해 산점도를 그리기 위해서는, px.scatter( ) 함수를 사용한다.

단, data_frame으로 시각화할 데이터 프레임을 지정한다는 데에 pd.scttaerplot( ) 함수와 차이가 있다.

그리고 hue가 아닌 color를 통해 표식의 색상을 구분한다.

 

pandas 패키지의 산점도 예시

pd.scatterplot(data = '데이터프레임 이름', x = '변수', y = '변수', hue = '변수')

 

plotly 패키지의 산점도 예시

px.scatter(data_frame = '데이터프레임 이름', x = '변수', y = '변수', color = '변수')

 

 

인터랙티브 그래프의 표식에 마우스 커서를 올리면 값이 나타난다.

이외에도 드래그를 하면, x축과 y축의 범위가 바뀌어서 그래프를 확대할 수 있다.

확대된 그래프는 더블클릭하면 원래 그래프로 돌아온다.

그리고 우측의 범례 항목을 클릭해서 특정 범주의 표식을 On/Off할 수 있다.

 


 

3. 막대 그래프(Bar Chart) 그리기

 

px.bar( ) 함수

 

plotly 패키지를 이용해 막대 그래프를 그리는 과정도 pd.barplot( ) 함수를 이용하는 과정과 유사하다.

 


 

4. 선 그래프(Line Chart) 그리기

 

px.line( ) 함수

 

plotly 패키지를 이용해 선 그래프를 그리는 과정도 pd.lineplot( ) 함수를 이용하는 과정과 유사하다.

 

pandas패키지의 시각화 함수에서 plot만 제거하면 plotly패키지의 시각화 함수가 되는 경향성이 있는 듯 하다.

 


 

5. 상자 그림(Box Plot) 그리기

 

px.box( ) 함수

 

상자 그림은 px.box( ) 함수를 이용했다.

 

pandas 패키지를 이용해 상자 그림을 그리려면 pd.boxplot( ) 함수를 이용해야 하는데,

plotly 패키지를 이요하면 px.box( ) 함수를 이용한다.

 


 

오늘 공부한 인터랙티브 그래프는 비교적 간단했다.

 

단, pandas 패키지로 그린 그래프들은 shift+마우스 우클릭으로 그래프를 쉽게 저장할 수 있었는데,

plotly 패키지로 그린 그래프들은 shift+마우스 우클릭으로 저장이 안 되는 차이점이 있었다.

그래서 인터랙티브 그래프들은 별도로 HTML 파일로 저장했다.

 

정리하자면,

 

인터랙티브 그래프 그리기

1단계 : plotly 패키지 및 jupyter-dash 패키지 설치

2단계 : jupyter lab 재부팅

 

1. px..scatter( ) 함수 : 산점도 인터랙티브 그래프 그리기

2. px.bar( ) 함수 : 막대 인터랙티브 그래프 그리기

3. px.line( ) 함수 : 선 인터랙티브 그래프 그리기

4. px.box( ) 함수 : 상자 인터랙티브 그래프 그리기

 

다음에는 통계적 가설 검정과 유의확률에 대해 공부한 내용을 포스팅하겠습니다.