[파이썬] bokeh 데이터 투명도 및 레이어 순서 조절

Bokeh은 파이썬 기반의 데이터 시각화 도구로, 인터랙티브하고 고화질의 차트와 플롯을 생성할 수 있습니다. Bokeh을 사용하면 플롯의 투명도를 조절하고 레이어의 순서를 조정하는 것도 가능합니다. 이 글에서는 Bokeh에서 데이터의 투명도와 레이어 순서를 조절하는 방법을 알아보겠습니다.

투명도 조절

플롯의 투명도를 조절하려면 fill_alpha 속성을 사용합니다. fill_alpha는 0부터 1까지의 값을 가질 수 있으며, 0은 완전히 투명하고 1은 완전히 불투명함을 나타냅니다. 예를 들어, 다음 코드에서는 데이터 포인트의 색상을 조절하는 동적 플롯을 생성합니다.

from bokeh.plotting import figure, show

# 데이터 포인트와 색상 값을 정의합니다.
x = [1, 2, 3, 4, 5]
y = [6, 7, 2, 4, 5]
color = ['blue', 'green', 'red', 'yellow', 'orange']

# 플롯 객체를 생성합니다.
p = figure()

# 데이터 포인트를 플롯에 추가하고 색상과 투명도를 설정합니다.
for i in range(len(x)):
    p.circle(x[i], y[i], size=20, fill_color=color[i], fill_alpha=0.5)

# 플롯을 출력합니다.
show(p)

위 코드에서 fill_alpha 값을 0.5로 설정하면 데이터 포인트의 색상이 반투명하게 표현됩니다. 여러 데이터 포인트 간에 겹치는 부분이 있을 때, 투명도를 설정하여 레이어를 시각적으로 나타낼 수 있습니다.

레이어 순서 조절

Bokeh에서는 레이어의 순서를 조절하는 여러 가지 방법이 있습니다. 예를 들어, 플롯에서 다수의 데이터 시리즈를 그린 후, 일부 데이터 시리즈를 다른 시리즈 위에 나타내고 싶을 때가 있을 수 있습니다. 이를 위해 layer() 메서드를 사용하여 레이어 순서를 조정할 수 있습니다.

다음 코드 예제에서는 선과 점으로 표시된 두 개의 데이터 시리즈가 있습니다. layer() 메서드를 사용하여 점 시리즈를 선 시리즈 위에 표시합니다.

from bokeh.plotting import figure, show

# 데이터 세트를 정의합니다.
x = [1, 2, 3, 4, 5]
y1 = [6, 7, 2, 4, 5]
y2 = [4, 3, 5, 1, 6]

# 플롯 객체를 생성합니다.
p = figure()

# 선 시리즈를 플롯에 추가합니다.
p.line(x, y1, line_color="blue", line_width=2)

# 점 시리즈를 선 시리즈 위에 추가합니다.
p.circle(x, y2, size=10, color="red")

# 플롯을 출력합니다.
show(p)

위 코드에서 line() 메서드를 사용하여 선 시리즈를 먼저 추가하고, circle() 메서드를 사용하여 점 시리즈를 추가합니다. 이렇게 하면 점 시리즈가 선 시리즈 위에 나타납니다.

Bokeh을 사용하면 데이터의 투명도와 레이어 순서를 조절하여 다양한 시각화 효과를 만들 수 있습니다. 이를 활용하여 데이터를 강조하거나 여러 시각화 요소를 조합할 수 있습니다. Bokeh의 높은 상호 작용성과 화려한 시각화 기능을 통해 효과적인 데이터 시각화를 구현해보세요.