iBetter Books
수정

개요

데이터를 움직이게 만들고 싶다는 생각, 해본 적 있으신가요.

Matplotlib으로 그래프를 그리다 보면 어느 순간 이런 궁금증이 생깁니다. "이 점 위에 마우스를 올렸을 때 값이 뜨면 좋겠는데." "슬라이더로 연도를 바꾸면 그래프가 자동으로 업데이트됐으면 좋겠는데." 그런데 Matplotlib으로는 그게 쉽지 않습니다. 정적인 이미지를 만드는 데는 훌륭하지만, 살아 움직이는 차트를 만들기에는 애초에 설계가 다릅니다.

Plotly는 그 불편함에서 출발한 라이브러리입니다. 처음부터 웹 브라우저 위에서 동작하도록 설계되었고, 마우스 호버, 줌, 필터, 애니메이션이 기본 기능입니다. 코드 한 줄이면 정적 그래프가 인터랙티브 차트로 바뀝니다.

이 교재는 "소설처럼 읽는 Matplotlib"의 후속편입니다. Matplotlib을 이미 다룰 줄 아는 분이라면, Plotly는 생각보다 훨씬 빠르게 손에 익을 것입니다. 익숙한 개념 위에 새 언어를 얹는 느낌입니다.

이 교재에 대하여

통계학과 3학년 지윤이 인턴십을 마치고 돌아왔습니다. 인턴 때 Matplotlib으로 수많은 그래프를 그렸고, 그 경험 덕분에 4학년 캡스톤 디자인 수업에서 팀장을 맡게 되었습니다. 팀 프로젝트 주제는 "인터랙티브 데이터 대시보드 제작"입니다.

지윤은 캡스톤 킥오프 미팅에서 교수님의 말 한마디에 멈칫합니다. "Matplotlib으로 만든 그래프는 발표 자료로는 좋지만, 심사위원들이 직접 데이터를 탐색할 수 없어요. Plotly나 Dash 같은 인터랙티브 도구를 검토해보세요."

그날 저녁, 지윤은 노트북을 열고 Plotly를 처음 설치합니다. 이 교재는 그 순간부터 시작됩니다.

대상 독자

이 교재는 다음 독자를 위해 쓰였습니다.

  • Python 기초 문법을 알고 있는 분
  • Matplotlib으로 기본 그래프를 그려본 경험이 있는 분
  • 데이터 시각화를 더 역동적으로 만들고 싶은 분
  • 대학 수업이나 프로젝트에서 인터랙티브 차트가 필요한 분

Matplotlib을 전혀 모르더라도 Python 기초가 있다면 따라올 수 있습니다. 다만 "소설처럼 읽는 Matplotlib"을 먼저 읽었다면 비교하는 재미가 배가됩니다.

선수 지식

항목 수준
Python 문법 리스트, 딕셔너리, 함수, 반복문 이해
Pandas DataFrame 기초 (읽기, 필터링)
Matplotlib plt.plot(), plt.show() 사용 경험
Jupyter Notebook 셀 실행 방법

왜 Plotly인가.

파이썬 시각화 도구는 많습니다. Matplotlib, Seaborn, Bokeh, Altair, Plotly. 그중 Plotly를 선택하는 이유는 무엇일까요.

첫째, 인터랙티브가 기본입니다. 마우스를 올리면 값이 뜨고, 드래그하면 줌이 되고, 범례를 클릭하면 데이터 계열이 켜고 꺼집니다. 별도 설정 없이 모든 차트에 적용됩니다.

둘째, Plotly Express로 빠르게 시작할 수 있습니다. px.line(df, x="연도", y="매출")처럼 한 줄로 완성도 높은 차트를 만듭니다. 세밀한 제어가 필요할 때는 Graph Objects로 전환하면 됩니다.

셋째, Dash와 자연스럽게 연결됩니다. Plotly 차트를 그대로 가져다 Dash 앱에 붙이면 웹 대시보드가 됩니다. 같은 회사(Plotly Technologies)에서 만들었기 때문에 통합이 자연스럽습니다.

넷째, 출력물이 HTML 파일입니다. 저장하면 웹 브라우저로 바로 열 수 있는 독립 실행형 파일이 됩니다. 이메일로 보내도, 포트폴리오에 올려도, 그대로 사용 가능합니다.

교재 구성

파트 내용
PART 00. 들어가기 Matplotlib vs Plotly, 환경 준비
PART 01. 첫 번째 인터랙티브 차트 Plotly Express 기초, 선형 차트, 산점도
PART 02. 다양한 차트 막대, 히스토그램, 파이, 박스 플롯
PART 03. 레이아웃과 스타일링 서브플롯, 테마, 색상, 애니메이션
PART 04. Pandas 연동과 실전 실제 데이터셋 분석, HTML 내보내기
PART 05. 마무리 캡스톤 프로젝트 완성, 다음 단계

이 파트의 구성

파일 내용
01. Matplotlib vs Plotly 두 라이브러리의 철학 비교, 같은 데이터로 그려보기
02. 실습 환경 준비 설치, Jupyter 설정, 버전 확인
03. 업데이트 현황 교재 버전 기록