[파이썬] bokeh 다중 축과 함께 사용하기

데이터 시각화에 있어서 축의 중요성은 매우 큽니다. 특히, 다양한 데이터 요인을 동시에 비교해야 할 때는 다중 축을 사용하는 것이 유용합니다. Bokeh는 Python 기반의 데이터 시각화 라이브러리로, 다중 축을 사용하여 데이터를 효과적으로 표현할 수 있습니다. 이번 글에서는 Bokeh를 사용하여 다중 축을 구현하는 방법에 대해서 알아보겠습니다.

Bokeh 다중 축 생성하기

Bokeh에서 다중 축은 twinx()twiny() 함수를 사용하여 생성할 수 있습니다. twinx() 함수는 기존의 x축을 복제하여 새로운 y축을 생성하고, twiny() 함수는 기존의 y축을 복제하여 새로운 x축을 생성합니다.

아래는 간단한 예제입니다. Python 코드를 보면서 Bokeh 다중 축 생성 방법을 이해해봅시다.

from bokeh.plotting import figure, show

# 기본 그래프 생성
p = figure()

# 첫 번째 y축 데이터 생성
x1 = [1, 2, 3, 4, 5]
y1 = [2, 4, 6, 8, 10]

# 첫 번째 y축 그래프 추가
p.line(x1, y1, color='red', legend_label='Line 1')

# 두 번째 y축 데이터 생성
x2 = [1, 2, 3, 4, 5]
y2 = [10, 8, 6, 4, 2]

# 두 번째 y축 그래프 추가
p.extra_y_ranges = {'second_y': Range1d(start=0, end=12)}
p.add_layout(LinearAxis(y_range_name='second_y'), 'right')
p.line(x2, y2, y_range_name='second_y', color='blue', legend_label='Line 2')

# 그래프 출력
show(p)

위 코드에서는 figure() 함수를 사용하여 기본 그래프를 생성합니다. 그리고 첫 번째 y축 데이터를 생성하고 line() 함수를 사용하여 첫 번째 y축 그래프를 추가합니다.

두 번째 y축 데이터를 생성한 후, extra_y_ranges 속성을 이용하여 새로운 y축 범위를 정의합니다. add_layout() 함수를 사용하여 새로운 y축을 오른쪽에 추가하고, line() 함수를 이용하여 두 번째 y축 그래프를 추가합니다.

마지막으로 show() 함수를 호출하여 그래프를 출력합니다.

마무리

Bokeh의 다중 축 기능을 활용하면 간단하게 복잡한 데이터를 시각화할 수 있습니다. 다중 축을 사용하면 여러 가지 데이터 요인을 한 번에 비교하거나 다른 척도로 데이터를 확인하는 등 다양한 분석을 수행할 수 있습니다.

위에서 소개한 예제를 통해 다중 축을 생성하는 방법을 확인해보세요. Bokeh를 사용하면 다른 데이터 시각화 라이브러리와 비교하여 다양한 형태의 그래프를 그릴 수 있으니, 함께 활용해보시기 바랍니다.