import plotly.graph_objects as go
# 예제 데이터 생성
= [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
x = [2, 3, 5, 8, 12, 18, 25, 35, 48, 65]
y1 = [1, 4, 6, 10, 15, 22, 32, 45, 60, 80] y2
Plotly Chart 다양한 스타일 적용하기
Plotly에서 Marker, Line 등 다양한 스타일 혼합 사용의 장점과 예시
Plotly는 다양한 데이터 시각화 도구를 제공하며, 마커(marker), 라인(line) 등의 시각적 요소를 혼합하여 데이터를 더 풍부하게 표현할 수 있습니다. 이 글에서는 다양한 스타일을 혼합하여 사용하는 장점과 함께, 이를 활용한 예시 코드를 소개하겠습니다.
1. 다양한 스타일 혼합 사용의 장점
- 데이터의 다양한 측면 강조:
- 마커와 라인을 동시에 사용하면, 데이터의 각 점을 강조하면서도 그 점들 사이의 관계를 명확히 표현할 수 있습니다.
- 명확한 비교 제공:
- 복수의 데이터 시리즈를 동일한 그래프에서 비교할 때, 각 시리즈의 시각적 속성을 다르게 설정하여 명확한 비교를 제공합니다.
- 상황에 따른 가독성 향상:
- 데이터가 밀집된 구간에서는 마커를 사용해 개별 점을 강조하고, 데이터가 드문드문 있는 구간에서는 라인을 사용해 전체적인 경향을 파악할 수 있습니다.
- 맞춤형 시각화:
- 다양한 스타일을 조합함으로써 사용자가 필요로 하는 맞춤형 시각화를 구현할 수 있습니다. 예를 들어, 특정 데이터를 강조하거나 특정 시점에서의 변화를 시각적으로 돋보이게 할 수 있습니다.
2. 예시 코드: 다양한 스타일 혼합 사용
다음 예제에서는 마커, 라인, 그리고 마커의 테두리(Line)를 혼합하여 데이터 시각화를 수행합니다.
2.1 데이터 준비
먼저, 샘플 데이터를 생성합니다.
2.2. lines+text
데이터를 선으로 연결하면서, 각 포인트에 텍스트 레이블을 표시합니다.
= go.Figure()
fig
# 첫 번째 데이터 시리즈 (마커와 라인 혼합, 큰 마커, 테두리 있음)
fig.add_trace(go.Scatter(=[1, 2, 3, 4, 5],
x=[10, 15, 13, 17, 16],
y='lines+text',
mode=["A", "B", "C", "D", "E"]
text
) )
2.3. markers+text
데이터를 마커로 표시하면서, 각 포인트에 텍스트 레이블을 표시합니다. 선은 연결되지 않습니다.
= go.Figure()
fig
# 첫 번째 데이터 시리즈 (마커와 라인 혼합, 큰 마커, 테두리 있음)
fig.add_trace(go.Scatter(=[1, 2, 3, 4, 5],
x=[10, 15, 13, 17, 16],
y='markers+text',
mode=["A", "B", "C", "D", "E"]
text
) )
2.3 lines+markers+text
데이터를 선과 마커로 동시에 표시하며, 각 포인트에 텍스트 레이블도 함께 표시합니다.
이제, 마커, 라인, 그리고 마커의 테두리 스타일을 조합하여 그래프를 생성합니다.
# 그래프 생성
= go.Figure()
fig
# 첫 번째 데이터 시리즈 (마커와 라인 혼합, 큰 마커, 테두리 있음)
fig.add_trace(go.Scatter(=x, y=y1,
x='lines+markers',
mode='Series 1',
name=dict(color='blue', size=12, line=dict(color='black', width=2)),
marker=dict(color='blue', width=2)
line
))
# 두 번째 데이터 시리즈 (작은 마커와 점선 라인, 테두리 없음)
fig.add_trace(go.Scatter(=x, y=y2,
x='lines+markers',
mode='Series 2',
name=dict(color='red', size=8),
marker=dict(color='red', width=2, dash='dash')
line
))
# 그래프 출력
fig.update_layout(='Mixed Marker and Line Styles',
title='X Axis',
xaxis_title='Y Axis'
yaxis_title
) fig.show()
mode='lines+markers'
: 마커와 라인을 동시에 표시하여 데이터의 개별 점과 점들 사이의 관계를 동시에 시각화합니다.마커 스타일:
marker=dict(color='blue', size=12, line=dict(color='black', width=2))
: 첫 번째 데이터 시리즈의 마커를 파란색으로 설정하고, 크기는 12, 테두리는 검은색으로 설정합니다.marker=dict(color='red', size=8)
: 두 번째 데이터 시리즈의 마커는 빨간색, 크기 8로 설정하되 테두리는 생략합니다.
라인 스타일:
line=dict(color='blue', width=2)
: 첫 번째 데이터 시리즈의 라인을 파란색, 두께 2로 설정합니다.line=dict(color='red', width=2, dash='dash')
: 두 번째 데이터 시리즈의 라인을 빨간색, 두께 2로 설정하고, 점선(dash) 스타일을 적용합니다.
4. 다양한 스타일 혼합 사용의 실전 사례
- 다중 시리즈 비교:
- 위의 예시에서 두 데이터 시리즈의 마커 크기와 라인 스타일을 다르게 설정하여 시각적으로 구분하고 비교할 수 있습니다.
- 변화의 강조:
- 특정 구간에서의 급격한 변화를 강조하고 싶다면, 해당 구간의 라인 스타일을 점선에서 실선으로 바꾸거나, 마커 크기를 키우는 등의 방법을 사용할 수 있습니다.
- 상황에 맞춘 시각화:
- 데이터가 밀집된 구간에서는 마커를 크게 하여 강조하고, 데이터가 드문 구간에서는 라인을 굵게 하여 전체적인 흐름을 강조할 수 있습니다.
5. 결론
Plotly에서 마커, 라인 등의 다양한 스타일을 혼합하여 사용하는 것은 데이터를 보다 풍부하고 직관적으로 시각화하는 데 매우 유용합니다.