본문으로 바로가기
평면표지(2D 앞표지)
입체표지(3D 표지)
2D 뒤표지

Plotly로 시작하는 인터랙티브 데이터 시각화 in R & 파이썬

취업률, 코로나 데이터를 활용한 반응형 대시보드 만들기


  • ISBN-13
    979-11-92987-37-8 (93000)
  • 출판사 / 임프린트
    주식회사 제이펍 / 주식회사 제이펍
  • 정가
    32,000 원 확정정가
  • 발행일
    2023-12-05
  • 출간상태
    출간
  • 저자
    이기준
  • 번역
    -
  • 메인주제어
    프로그래밍 및 스크립트언어 / 일반
  • 추가주제어
    알고리즘과 데이터구조
  • 키워드
    #데이터 분석 #동적 데이터 시각화 #플로틀리 #Python #Dash #Shiny #차트 #플롯 #그래프 #plotly.express #프로그래밍 및 스크립트언어 / 일반 #알고리즘과 데이터구조
  • 도서유형
    종이책, 반양장/소프트커버
  • 대상연령
    모든 연령, 성인 일반 단행본
  • 도서상세정보
    188 * 245 mm, 480 Page

책소개

이 책은 인터랙티브 시각화 패키지인 Plotly로 시각화하는 방법을 취업률 및 코로나 데이터로 예를 들면서 R과 파이썬으로 구현한다. 1부에서는 데이터 시각화의 개념과 중요성을 소개하고, 2부에서는 Plotly의 기초 개념과 레이아웃, 서브플롯 등 필수 기능을 설명한다. 3부에서는 산점도, 폭포수 차트 등 목적에 따른 Plotly 시각화 방법과 특수 기능을 안내한다. 4부에서는 효과적으로 Plotly 시각화를 활용하기 위한 버튼, 슬라이더 등 컨트롤의 생성 및 구현 방법, 결과물을 공유하기 위한 온/오프라인 배포 방법을 알아본다. 마지막으로 부록에서는 Plotly의 기능을 극대화할 수 있는 Dash와 Shiny 패키지로 대시보드를 설계하고 구현하는 과정을 다룬다.

목차

추천의 글 x

베타리더 후기 xiii

시작하며 xvi

이 책에 대하여 xix

 

 

PART I 데이터 시각화의 기초

CHAPTER 1 데이터 시각화란? 3

1.1 데이터 시각화의 필요성 5

1.2 왜 데이터 시각화를 해야 하는가? 6

1.3 데이터 시각화로 무엇을 표현하는가? 10

1.4 유명한 데이터 시각화 사례 11

1.5 차트, 플롯, 그래프 15

 

PART II Plotly 시각화의 기초

CHAPTER 2 Plotly로 시각화하기 19

2.1 Plotly란? 20

2.2 예제 데이터 Import와 전처리 22

2.3 Plotly 시작하기 28

 

CHAPTER 3 트레이스 41

3.1 트레이스의 생성 41

3.2 트레이스의 공통 속성 45

 

CHAPTER 4 layout 속성 65

4.1 layout 속성 설정 65

4.2 layout 공통 주요 속성 66

 

CHAPTER 5 서브플롯 89

5.1 서브플롯 생성과 제목 설정 89

5.2 서브플롯 범례 설정 97

5.3 서브플롯 배치와 편집 98

5.4 축 공유 106

 

CHAPTER 6 색상 설정 109

6.1 연속형 색상 110

6.2 이산형 색상 115

 

PART III Plotly 시각화의 실전

CHAPTER 7 관계와 분포의 시각화 123

7.1 산점도 123

7.2 히스토그램 136

7.3 박스 플롯 146

7.4 바이올린 플롯 155

 

CHAPTER 8 비교와 구성의 시각화 162

8.1 막대그래프 163

8.2 비율 막대그래프 180

8.3 롤리팝 그래프 186

8.4 레이더 차트 190

8.5 덤벨 차트 198

8.6 파이 차트 200

8.7 선버스트 차트 209

8.8 트리맵 217

 

CHAPTER 9 시간과 흐름의 시각화 221

9.1 선 그래프 221

9.2 캔들스틱 차트 245

9.3 폭포수 차트 264

9.4 퍼널 차트 267

9.5 산키 다이어그램 275

 

CHAPTER 10 지수와 지도의 시각화 282

10.1 인디케이터 282

10.2 지도의 시각화 302

 

PART IV Plotly 시각화의 활용

CHAPTER 11 시각화 컨트롤 329

11.1 컨트롤 위치 설정 331

11.2 버튼 컨트롤 332

11.3 드롭다운 컨트롤 346

11.4 슬라이더 컨트롤 349

 

CHAPTER 12 Plotly 시각화 사용하기 355

12.1 모드바의 사용 355

12.2 마우스 사용 358

12.3 범례 사용 360

 

CHAPTER 13 Plotly 배포 361

13.1 오프라인 배포 361

13.2 온라인 배포 364

 

CHAPTER 14 효과적인 시각화 만들기 369

14.1 청중은 누구인가? 370

14.2 적절한 시각화 타입의 선정 371

14.3 시각화의 매체 373

14.4 간결한 시각화 374

14.5 읽기 쉬운 라벨링 376

14.6 왜곡의 방지 378

14.7 적절한 색상 사용 381

 

마치며 383

 

APPENDIX A R과 파이썬을 사용한 대시보드 만들기 384

A.1 Plotly와 파이썬을 사용한 Dash 앱 시작하기 384

A.2 Plotly와 R을 사용한 Shiny 앱 시작하기 402

 

APPENDIX B plotly.express 420

B.1 plotly.express 420

B.2 함수 설명, 주요 매개변수와 사용 예 424

 

찾아보기 446

본문인용

데이터 시각화는 수많은 데이터의 특성을 한눈에 볼 수 있도록 만드는 과정이다. 그렇다면 데이터 시각화는 데이터의 무엇을 표현하고 어떤 특성들을 나타낼 수 있는가? 우리는 초등학교 시절부터 데이터 시각화를 배워왔다. 지금도 초등학교 4학년 학생은 1학기 수학 교과서에서 막대그래프를 사용하여 데이터를 표현하는 방법을 배운다. 그래서인지 데이터 시각화에서 많이 쓰는 방법은 막대그래프이며, 때에 따라서 선 그래프, 파이 차트(원그래프) 등도 흔히 사용되고 있다. 데이터 시각화를 하기 전에 먼저 데이터 시각화로 무엇을 표현하고 어떤 데이터 시각화 방법을 쓸 것인지를 결정해야 한다. 일반적으로 데이터의 분포, 비교, 추세, 구성, 상관, 지리를 표현하는 데 데이터 시각화가 효과적으로 활용된다. (10쪽)

 

Plotly 패키지는 R, 파이썬, 줄리아, 자바스크립트, F#, 매트랩 등의 다양한 언어에서 사용이 가능하도록 각각의 언어에 바인딩되는 패키지를 개발하여 제공하고 있다. Plotly에서 제공하는 데이터 시각화는 산점도, 선 그래프와 같은 기본 차트(basic chart), 박스 플롯, 히스토그램과 같은 통계 차트(statistical chart), 히트맵, 삼각 플롯(ternary plot)과 같은 과학 차트(scientific chart), 시계열 차트(time series chart), 캔들스틱 차트와 같은 재무 차트(financial chart) 등의 다양한 차트와 플롯을 제공한다. (20쪽)

 

보통 히스토그램은 bin의 크기에 따라 설정된 범위에 속한 데이터의 사례수, 즉 데이터 카운트를 표현한다. Plotly에서도 기본적인 히스토그램은 데이터 사례수를 표현하는 방법으로 히스토그램을 그리지만, 이 값을 특정한 함수 값으로 대체하는 방법도 제공한다. Plotly에서 히스토그램 함수로 제공하는 것은 사례수를 표시하는 count, bin에 속한 값의 합을 표시하는 sum, 평균을 표시하는 avg, 가장 작은 값을 표시하는 min, 가장 큰 값을 표시하는 max 등과 같은 5개이다. 히스토그램 함수는 histogram 트레이스의 histfunc 속성에 함수명을 설정함으로써 사용할 수 있다. 만약 count 이외의 함수를 사용한다면 각각의 함수에 적용되어야 하는 변수를 y 속성에 설정해주어야 한다. (143쪽)

 

Plotly는 동적 데이터 시각화이기 때문에 온라인에서 사용자의 반응에 따라 작동하는 다양한 기능을 제공한다. 여기에는 여러 가지 기능이 있지만, 데이터값과 해당 값의 변량 등 시각화된 데이터의 해석이 원활하도록 제공하는 기능이 호버이다. 호버는 Plotly에서만 제공하는 기능은 아니고 과거 ‘tooltip’이라는 이름으로 많이 사용된 기능이다. 즉, 사용자의 마우스나 디지털 포인팅 장비와 상호 반응해 그 기기가 포인팅하는 곳의 정보를 조그마한 박스를 통해 사용자에게 알려주는 기능이다. 이 호버는 흔히 ‘mouse over’, ‘mouse hover’, ‘hover box’라고도 불리며, CSS를 사용하여 웹 브라우저에서 사용할 수 있다. (234쪽)

 

R의 ggplot2나 파이썬의 Matplotlib, seaborn으로 만든 정적 시각화는 그래프를 만들 때 시각화한 데이터 외에 시각화 자체에서 추가적으로 데이터를 얻기는 어렵다. 따라서 시각화에 추가적인 데이터를 제공하기 위해서는 다시 코딩해서 만들어야 하는 불편함이 따른다. 특히 특정 위치의 데이터값을 확인하거나 특정 구간 데이터를 줌인하기 위해서도 다시 코딩해야 하는데 사용자의 사용 패턴을 예상하여 수없이 많은 시각화를 만들어 놓을 수는 없다. 반면 Plotly와 같은 동적 시각화에서는 특징적 데이터값의 확인, 줌인, 줌아웃, 특정 데이터만의 표기 등 데이터 분석시 활용할 수 있는 다양한 기능을 제공한다. Plotly에서는 이와 같은 기능들을 모아둔 아이콘 집합을 모드바라고 한다. (355쪽)

 

파이썬에서 Plotly를 만드는 데에는 Plotly 라이브러리 plotly.graph_objects 모듈을 사용하는 방법과 plotly.express 모듈을 사용하는 두 가지 방법이 있다. Plotly 제작사에서도 Plotly의 생성 원리를 파악하고 상세한 기능을 사용하기 위해서는 graph_objects를 사용할 것을 권고하고 있다. 하지만 graph_objects 모듈을 사용하여 Plotly를 만들다 보면 코드도 매우 길어지고 어디 한 군데 괄호가 빠지는 경우나 잘못 표시되는 경우 매우 혼란스러워진다. 그래서 Plotly를 보다 쉽게 만들 수 있는 express 모듈을 제공한다. (420쪽)

서평

효과적인 인터랙티브 시각화 툴 Plotly 사용법 & 데이터 시각화 실무 노하우

 

보고서, 신문 기사 등에서 흔히 접하는 데이터 시각화는 데이터나 정보가 가지는 의미를 상대에게 명확하고 효과적으로 전달해 상대방을 설득하는 것이 목표다. 특히 R과 파이썬을 활용한 데이터 처리와 분석이 대중화되면서 관심이 더욱 높아졌다.

 

데이터 시각화 패키지로 R에서는 ggplot2를, 파이썬에서는 Matplotlib을 주로 사용했지만 웹에서 실행되는 대시보드에는 적합하지 않아 최근에는 사용자가 자유자재로 활용할 수 있는 Plotly 패키지가 많이 활용되는 편이다. 자바스크립트를 기반으로 만들어진 Plotly는 R과 파이썬뿐만 아니라 줄리아, 매트랩 등에서도 지원된다. 또한, ggplot2로 만든 시각화도 동적으로 간단히 변환할 수 있는 강력한 기능이 있는 것은 물론, R과 파이썬을 지원하는 dash 패키지를 통해 사용자 반응형 대시보드 설계에도 효율적으로 사용되고 있다.

 

이 책은 데이터 시각화의 이론과 원리보다는 Plotly를 활용한 인터랙티브 데이트 시각화와 구현에 필요한 코드 위주로 구성했다. 총 4부로 구성되었으며, 취업률 및 코로나 데이터를 예로 들면서 R과 파이썬 코드 및 결과를 수록해 어떤 언어에 익숙하든 데이터 시각화 방법을 습득할 수 있다. 또한, 데이터 시각화를 구축할 때 고려해야 할 사항이나 Plotly로 대시보드를 만드는 플랫폼인 Dash와 Shiny의 사용법을 배울 수 있다.

 

1부에서는 데이터 시각화란 개념과 중요성을 설명하고 역사적으로 중요한 의미를 지닌 데이터 시각화 사례를 소개한다. 2부에서는 Plotly의 기본 개념과 다양한 속성을 설명한다. Plotly 시각화에 필수인 트레이스와 레이아웃, 서브플롯의 개념 및 공통적으로 사용하는 속성을 알아본다. 3부에서는 실무에서의 데이터 시각화 목적에 따른 Plotly 시각화 방법들을 소개한다. 버블 차트, 바이올린 플롯, 롤리팝 그래프, 덤벨 차트, 산키 다이어그램, 인디케이터 시각화 등을 예로 든다. 4부에서는 효과적으로 Plotly 시각화를 활용하기 위한 버튼, 슬라이더 등 컨트롤 생성 및 구현 방법, 결과물을 공유하기 위한 온오프라인 배포 방법을 알아본다. 마지막으로 부록에서는 Plotly 기능을 극대화하기 위해 Dash 및 Shiny 패키지, plotly.express로 대시보드를 설계해본다.

 

데이터 시각화의 기초부터 다양한 시각화 방법을 실습함으로써 데이터가 가지는 의미를 명확하고 효과적으로 전달해보자.

저자소개

저자 : 이기준
한국항공대학교에서 컴퓨터공학으로 박사 학위를 받았다. 한국교육개발원(KEDI)에서 유/초/중/고 및 대학의 국가교육통계 데이터의 디지털화를 시작으로 20여 년간 국가교육통계 데이터 조사, 관리, 분석과 서비스 시스템의 기획, 개발, 운영, 관리의 전 분야를 실무부터 총괄까지 수행했다. KEDI에서 교육통계센터소장 및 국가교육통계연구본부장 등을 역임했고, 미국 보이시 주립대학교(Boise State University) 교육공학과에서 연수했으며, 현재 한국교육개발원 정보화실장으로 근무 중이다. 이 밖에도 과학기술정보통신부 인공지능 윤리정책 포럼위원, 대통령직속 4차산업혁명위원회 자문위원, 교육부 인공지능 교육정책 자문위원, 통계청 통계분류 자문위원, 2018 평창동계올림픽 IT 자문위원 등으로 활동했다. 주로 교육통계 데이터를 활용한 데이터 분석 연구와 교육통계 데이터 시스템 기획 및 구축 관련 연구를 수행했다.
저서로 2022년 세종도서 학술부문 우수도서에 선정된 《실전에서 바로 쓰는 시계열 데이터 처리와 분석 in R》(제이펍, 2021)이 있고, 공저서로 《메타버스 유니버시티》(동문사, 2023)가 있다.
상단으로 이동