Matplotlib을 버리세요: 3줄 코드로 인터랙티브 파이썬 차트 만들기

발행: (2026년 1월 14일 오전 06:00 GMT+9)
5 min read
원문: Dev.to

Source: Dev.to

Cover image for Ditch Matplotlib: Create an Interactive Python Chart in 3 Lines of Code

Matplotlib에서 정적인 PNG를 내보내는 것이 지겹나요? 사용자들은 더 많은 것을 기대합니다. 마우스를 올리면 툴팁이 뜨고, 확대·축소하고, 데이터를 탐색하고 싶어 합니다. Plotly Express와 함께 보일러플레이트 없이 원하는 기능을 제공하는 방법을 소개합니다. Pandas DataFrame에서 완전한 인터랙티브 브라우저 기반 차트로 전환하는 가장 빠른 방법입니다.

코드‑우선 접근법

긴 소개는 없습니다. 바로 코드입니다. 브라우저에서 바로 열리는 인터랙티브 바 차트를 생성합니다.

import pandas as pd
import plotly.express as px
from plotly.offline import plot

# 1. Your data
df = pd.DataFrame({
    'Quarter': ['Q1 2024', 'Q2 2024', 'Q3 2024', 'Q4 2024'],
    'Revenue': [100, 150, 130, 180]
})

# 2. The magic one-liner
fig_px = px.bar(
    df,
    x='Quarter',
    y='Revenue',
    title='Quarterly Revenue (Plotly Express)',
    color='Quarter',
    template='plotly_dark'
)

# 3. Save and open the HTML file
plot(fig_px, filename='interactive_chart.html', auto_open=True)

실행해 보세요. HTML 파일이 브라우저에서 열리며 툴팁을 위한 호버, 클릭‑드래그 확대, 내장 툴바 등을 사용할 수 있습니다. 이 모든 것이 기본 동작이며, 파이썬 3줄만으로 미니 데이터 앱을 만들 수 있습니다.

Plotly의 두 가지 스타일

지금 사용한 것은 Plotly Express (PX) 로, 빠르게 작업을 끝낼 수 있는 고수준 API입니다. 탐색과 빠른 보고서 작성에 최적입니다.

다른 스타일은 Plotly Graph Objects (GO) 로, 저수준이면서 강력한 API이며 전체 제어권을 제공합니다. 차트를 하나씩 구성하기 때문에 코드가 더 길어집니다.

아래는 Graph Objects로 만든 동일한 차트입니다:

import plotly.graph_objects as go

# A. Start with an empty canvas
fig_go = go.Figure()

# B. Add your data series (a "trace")
fig_go.add_trace(
    go.Bar(x=df['Quarter'], y=df['Revenue'], name='Revenue Trace')
)

# C. Update the styling (the "layout")
fig_go.update_layout(
    title_text='Quarterly Revenue (Graph Objects)',
    xaxis_title='Fiscal Quarter',
    yaxis_title='Total Revenue ($K)',
    template='plotly_dark'
)

# You'd save this the same way with plot(fig_go, ...)

보시다시피 px.bar()는 트레이스와 레이아웃을 자동으로 생성해 주는 스마트 래퍼입니다.

언제 PX와 GO를 사용해야 할까

상황Plotly Express (PX) 사용Plotly Graph Objects (GO) 사용
목표탐색적 데이터 분석 (EDA)프로덕션 대시보드
속도빠른 반복모든 요소에 대한 세밀한 제어 필요
차트 유형표준 차트 (바, 스캐터, 라인 등)차트 유형 결합 (예: 바와 라인)
커스터마이징최소 코드로 인터랙티브 플롯사용자 정의 주석, 도형, 버튼 등

프로 팁: 가장 좋은 워크플로는 하이브리드 방식입니다. 먼저 Plotly Express로 기본 피겨를 빠르게 만든 뒤, fig.update_layout()이나 fig.add_trace()를 사용해 맞춤 레이어를 추가합니다.


이 글은 제 전자책 Data Science & Analytics with Python Programming의 15장을 기반으로 작성되었습니다 – 여기에서 확인할 수 있습니다: .

전체 “Python Programming Series”를 탐색하면 파이썬 기초부터 고급 AI 에이전트까지 포괄적인 여정을 경험할 수 있습니다: .

Back to Blog

관련 글

더 보기 »