import plotly.graph_objs as go
# 데이터 정의
x = [1, 2, 3, 4, 5]
y1 = [10, 15, 13, 17, 16]
y2 = [5, 7, 3, 8, 6]
# 그래프 생성
fig = go.Figure()
# 첫 번째 선 그래프 추가
fig.add_trace(go.Scatter(x=x, y=y1, mode='lines', name='Line Plot 1'))
# 두 번째 선 그래프 추가
fig.add_trace(go.Scatter(x=x, y=y2, mode='lines', name='Line Plot 2'))
# 그래프 레이아웃 업데이트
fig.update_layout(title='Basic Line Plot with Legend')
# 그래프 출력
fig.show()Plotly Legend 설정하기
Plotly에서 Legend Style 설정하기
데이터 시각화에서 레전드는 각 데이터 시리즈의 의미를 쉽게 이해할 수 있도록 도와주는 중요한 요소입니다. Plotly는 강력한 시각화 도구로, 레전드를 생성하고 위치를 조정하는 다양한 옵션을 제공합니다.
1. Plotly에서 기본 레전드 생성하기
Plotly에서는 기본적으로 그래프에 레전드가 자동으로 생성됩니다. 레전드는 그래프의 각 데이터 시리즈에 대한 설명을 제공합니다. 기본 설정에서는 레전드가 자동으로 위치에 배치되며, 이 위치는 사용자에 의해 조정할 수 있습니다.
기본 레전드 생성 예제
다음 예제에서는 간단한 선 그래프를 생성하고 기본 레전드가 어떻게 자동으로 생성되는지 보여줍니다.
이 예제에서는 두 개의 선 그래프를 추가하고, Plotly가 자동으로 레전드를 생성하여 각 선 그래프의 이름을 레전드에 표시합니다.
2. 레전드 위치 조정하기
Plotly에서는 레전드의 위치를 다양한 옵션으로 조정할 수 있습니다. update_layout 메서드의 legend 속성을 사용하여 레전드의 위치와 모양을 조정할 수 있습니다.
레전드 위치 조정 예제
다음 예제에서는 레전드의 위치를 그래프의 왼쪽 하단으로 조정합니다.
import plotly.graph_objs as go
# 데이터 정의
x = [1, 2, 3, 4, 5]
y1 = [10, 15, 13, 17, 16]
y2 = [5, 7, 3, 8, 6]
# 그래프 생성
fig = go.Figure()
# 첫 번째 선 그래프 추가
fig.add_trace(go.Scatter(x=x, y=y1, mode='lines', name='Line Plot 1'))
# 두 번째 선 그래프 추가
fig.add_trace(go.Scatter(x=x, y=y2, mode='lines', name='Line Plot 2'))
# 레전드 위치를 오른쪽 상단으로 조정
fig.update_layout(
title='Line Plot with Custom Legend Position',
legend=dict(
x=0, # x축 위치 (0=왼쪽, 1=오른쪽)
y=-0.1, # y축 위치 (0=하단, 1=상단)
xanchor='left', # 레전드의 x축 앵커
yanchor='top' # 레전드의 y축 앵커
)
)
# 그래프 출력
fig.show()코드 설명
x와y: 레전드의 X 및 Y 위치를 설정합니다. y는-값을 설정하여 그래프 바깥에 위치합니다x=0은 레전드가 그래프의 왼쪽에 위치하도록 합니다.xanchor: 레전드의 X축 앵커를 설정합니다.left,center,right값 중 하나를 사용할 수 있습니다.yanchor: 레전드의 Y축 앵커를 설정합니다.top,middle,bottom값 중 하나를 사용할 수 있습니다.
3. 레전드의 모양과 스타일 조정하기
Plotly에서는 레전드의 모양과 스타일도 조정할 수 있습니다. 예를 들어, 레전드의 글꼴 크기, 색상, 테두리 등을 설정할 수 있습니다.
레전드 스타일 조정 예제
다음 예제에서는 레전드의 글꼴 크기와 색상, 테두리 색상을 조정합니다.
import plotly.graph_objs as go
# 데이터 정의
x = [1, 2, 3, 4, 5]
y1 = [10, 15, 13, 17, 16]
y2 = [5, 7, 3, 8, 6]
# 그래프 생성
fig = go.Figure()
# 첫 번째 선 그래프 추가
fig.add_trace(go.Scatter(x=x, y=y1, mode='lines', name='Line Plot 1'))
# 두 번째 선 그래프 추가
fig.add_trace(go.Scatter(x=x, y=y2, mode='lines', name='Line Plot 2'))
# 레전드 스타일 조정
fig.update_layout(
title='Styled Line Plot with Custom Legend',
legend=dict(
x=0.5,
y=0.5,
xanchor='center',
yanchor='middle',
font=dict(
family="Arial",
size=12,
color="blue"
),
bordercolor="Black",
borderwidth=2
)
)
# 그래프 출력
fig.show()코드 설명
font: 레전드의 글꼴 스타일을 설정합니다.family,size,color를 통해 글꼴의 종류, 크기, 색상을 설정할 수 있습니다.bordercolor: 레전드의 테두리 색상을 설정합니다.borderwidth: 레전드의 테두리 두께를 설정합니다.
결론
Plotly에서 레전드를 생성하고 그 위치를 조정하는 방법은 데이터 시각화를 보다 효과적으로 만드는 데 중요한 역할을 합니다. 기본적인 레전드 생성 외에도, 레전드의 위치와 스타일을 조정하여 그래프의 가독성을 높이고, 필요한 정보를 명확히 전달할 수 있습니다. Plotly의 다양한 설정을 활용하여 데이터 시각화를 더욱 풍부하고 효과적으로 만들어 보세요!