CodeGym /행동 /Python SELF KO /대량 데이터 분석을 위한 인터랙티브 차트 생성하기

대량 데이터 분석을 위한 인터랙티브 차트 생성하기

Python SELF KO
레벨 42 , 레슨 3
사용 가능

1. 인터랙티브 차트의 기본

가장 간단한 것부터 시작해보자 — 기본 인터랙티브 차트를 만들어 보자. 가상의 정원에서 당근 성장률을 표시하는 산포도를 만들어 볼게. 맞아, 프로그래머도 원예에 대한 꿈이 있다니까!

Python

import plotly.express as px
import pandas as pd

# 우리의 데이터로 간단한 DataFrame 생성
df = pd.DataFrame({
    '일': [1, 2, 3, 4, 5],
    '당근 성장률': [2, 3, 5, 7, 11]
})

# 인터랙티브한 선형 차트 생성
fig = px.line(df, x='일', y='당근 성장률', title='일주일간 당근 성장률')
fig.show()

이 코드를 실행하면, 새로운 브라우저 창이 열리면서 확대, 축소, 점 클릭 등을 할 수 있는 멋진 인터랙티브 차트를 볼 수 있을 거야.

이제 인터랙티브한 마법을 좀 추가해 보자!

2. 인터랙티브 설정

Plotly는 툴팁, 색상 스키마, 추가 데이터 등을 설정해서 인터랙티브 차트를 더 정보성 있고 시각적으로 매력적으로 만들어줘.

툴팁 설정 (Tooltips)

Plotly에서는 그래프 요소 위로 마우스를 올릴 때 나타나는 툴팁에 자세한 데이터를 추가할 수 있어.

Python

import plotly.express as px
import pandas as pd

# 우리의 데이터로 간단한 DataFrame 생성
df = pd.DataFrame({
    '일': [1, 2, 3, 4, 5],
    '당근 성장률': [2, 3, 5, 7, 11],
    "농업가 계획": [3, 4, 5, 6, 13]
})

# 인터랙티브한 선형 차트 생성
fig = px.line(df, x='일', y='당근 성장률', title='일주일간 당근 성장률', hover_data={"농업가 계획": True})
fig.show()

여기서 hover_data={"농업가 계획": True}는 툴팁에 농업가 계획 데이터를 추가해서, 사용자가 실제 데이터와 계획을 비교할 수 있게 해줘.

색상 스키마 설정

Plotly는 시각적 효과를 높이기 위해 다양한 색상 스키마를 지원해.

Python

import plotly.express as px

# 그래프 데이터
data = {
    "카테고리": ["A", "B", "C", "D"],
    "값": [10, 20, 30, 40]
}

fig = px.bar(data, x="카테고리", y="값", color="카테고리", title="카테고리별 데이터")
fig.show()

색상 스키마를 설정해서 더 화려하고 정보성 있는 보고서를 만들 수 있어.

줌인 및 줌아웃

Plotly는 그래프에 줌인/줌아웃, 팬, 주석 등 다양한 인터랙티브 요소를 통합할 수 있도록 제공해. 아래와 같이 줌인/줌아웃을 쉽게 활성화할 수 있어:

Python

import plotly.graph_objects as go

# 당근 데이터를 사용해 인터랙션 추가
fig = go.Figure(data=go.Scatter(x=df['일'], y=df['당근 성장률'], mode='lines+markers'))

# 컨트롤 요소 설정
fig.update_layout(
    title='일주일간 당근 성장률',
    xaxis_title='일',
    yaxis_title='당근 성장률 (cm)',
    hovermode='closest'
)

fig.show()

이 그래프는 점을 클릭하면 추가 정보를 제공해, 우리가 직접 정의할 수 있어.

3. 인터랙티브 차트의 응용 사례

인터랙티브 차트는 대량 데이터 시각화에 매우 적합해. 예를 들어, 1년간 매장 매출 데이터를 수천 줄로 포함하는 데이터셋이 있다고 상상해봐. 인터랙티브 요소는 전체 그림뿐만 아니라 세부 사항에 깊이 들어가고, 특정 날짜를 탐구하고, 피크 및 하락을 찾고, 이해와 의사 결정을 개선하게 해줘.

더 많은 데이터로 예제를 만들어 보자 — 예를 들어, 1년 동안의 온도 데이터를 가지고 시각화하고 싶다고 가정해보자:

Python

import numpy as np

# 온도 데이터 생성
np.random.seed(0)
x = np.arange(365)
y = np.random.normal(30, 5, 365)  # 평균 30도

fig = go.Figure(data=go.Scatter(x=x, y=y, mode='lines', line=dict(color='firebrick')))

fig.update_layout(
    title='1년 동안의 온도',
    xaxis_title='날',
    yaxis_title='온도 (°C)'
)

fig.show()

이제 특정 기간까지 확대해서 더 자세히 볼 수 있는, 거의 매일의 온도 변화를 보여주는 인터랙티브 차트를 가지게 되었어.

차트 커스터마이징

Plotly는 차트를 시각적으로 매력적이고 유용하게 만들 수 있는 커스터마이징 기능을 제공해. 색상, 툴팁, 범례 추가뿐만 아니라 애니메이션도 추가할 수 있어! 더 복잡한 시나리오의 경우 Plotly 문서를 탐색해서 프로젝트에 이러한 기능을 사용하는 방법에 대한 예제를 찾아봐.

인터랙티브 차트를 만드는 것이 마치 제다이 마스터의 일처럼 보일 수도 있지만, Plotly를 통해 배운 기술은 데이터를 효과적으로 시각화하는 세계로 연결해줄거야. 이 기술을 활용해서 분석 능력을 강화하고 작업 환경에서도 Excel(또는 Python)의 스타가 되어봐! 새로운 접근 방식을 실험하거나 시도하는 것을 잊지 마 — 위대한 아이디어는 그렇게 탄생하거든!

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION