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