본문 바로가기
취미

[Bokeh] 파이썬 그래프 bokeh - 파이썬 시각화 도구 bokeh 여러개 차트를 한번에

by climb_JJIYO 2024. 1. 23.
반응형

그래프 예시

 

데이터 시각화는 데이터의 패턴을 이해하고 인사이트를 도출하는 데 중요한 도구입니다. 파이썬의 Bokeh 라이브러리는 인터렉티브한 시각화를 생성하는데 사용되며, 여러개의 차트를 하나의 HTML파일에 효과적으로 그릴 수 있습니다. 이번에는 Bokeh를 사용하여 여러 개의 차트를 하나의 HTML 파일에 그리는 방법을 설명하겠습니다.

bokeh : 시각화 도구 파이썬 라이브러리 사용

여러 개의 차트를 하나의 html 파일에 그리는 코드 예시입니다.

 

1) 시각화 도구로 seaborn과 matplotlib 이 많이 사용되고 있으나 고정된 시각화 도구와 달리 bokeh는 자유분방하여 그래프를 자세히 들여다볼 수 있습니다.

2) bokeh 라이브러리는 많은 도구를 지원하고 있어 자세한 그래프를 관찰하기 좋습니다.

3) HTML을 기반으로 그래프를 그리기 때문에 통계 분석용 이외에도 고급스러운 시각화를 할 수 있습니다.

1.  설치

pip install bokeh

 

- pip을 사용하여 라이브러리를 쉽게 설치가 가능합니다.

- pandas로 csv파일을 불러와 시각화를 할 수 있습니다.

2.  임포트

bokeh 라이브러리와 데이터를 불러오기 위해 필요한 라이브러리 pandas 와 numpy 라이브러리를 임포트 합니다.

import pandas as pd
import numpy as np
from bokeh.plotting import figure, output_file, output_notebook, show

3.  파일 불러오기

csv 파일 데이터를 불러옵니다.
저는 all_09_housr.csv 라는 파일을 불러왔습니다.
data = pd.read_csv('C:/Users/user/Project/sun/data/all_09_hour.csv')

4.  그래프 그리기

한 개의 그래프를 그리는 코드입니다.

TOOLS = "pan,wheel_zoom,box_zoom,reset,save,box_select,hover"

p = figure(x_axis_type = 'datetime', title='제목', tools=TOOLS, plot_width = 1500)

p.line(data.index, data['컬럼명'], legend_label='범례', line_width = 2, color = '#1e73be')

output_file('저장할경로/저장할파일명.html')

show(p)

 

여러 개의 그래프를 그리는 코드입니다.

컬럼이 여러 개인 데이터프레임의 그래프를 한 번에 하나의 html파일에 그릴 수 있습니다.

TOOLS = "pan,wheel_zoom,box_zoom,reset,save,box_select,hover"

lst = []

for col in data.columns:

     p = figure(x_axis_type = 'datetime', title=col, tools=TOOLS, plot_width = 1500)


     p.line(data.index, data[col], legend_label=col, line_width = 2, color = '#1e73be')

lst.append([p])

output_file('저장할경로/저장할파일명.html')

gp = gridplot(lst)

show(gp)

point

- 여러 개의 컬럼을 가진 데이터 프레임의 각각의 컬럼에 대한 그래프를 하나의 html파일에서 확인 가능합니다.

- 데이터가 너무 많을 때는 html 용량이 매우 커질 수 있어 cpu, 메모리 성능에 무리가 올 수 있으니 주의가 필요합니다.

 

결론적으로, Bokeh를 사용하여 여러 개의 차트를 하나의 HTML 파일에 그리는 방법을 살펴보았습니다. 이를 통해 데이터 시각화에 있어서 보다 효율적이고 인터렉티브한 결과물을 얻을 수 있었습니다. Bokeh의 다양한 기능을 활용하여 데이터를 더 잘 이해하고 시각화할 수 있으며, 이는 의사결정을 내리는 과정에서 유용한 정보를 제공할 수 있습니다. Bokeh를 통해 생성된 HTML 파일은 웹 환경에서 손쉽게 공유되고 시각화된 데이터를 탐색할수 있습니다. 

반응형