Top

matplotlib을 이용한 데이터 시각화 프로그래밍 [파이썬으로 구현하는 데이터 분석용 2D & 3D 그래프]

  • 원서명matplotlib Plotting Cookbook (ISBN 9781849513265)
  • 지은이알렉상드르 드베르(Alexandre Devert)
  • 옮긴이이문호
  • ISBN : 9788960776685
  • 25,000원
  • 2015년 01월 16일 펴냄
  • 페이퍼백 | 256쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 데이터 과학

책 소개

요약

이 책은 맷플롯립(matplotlib)을 설치하는 방법을 먼저 알려주고, 다양한 2차원 그래프를 출력하는 방법을 소개하고, 이어서 자신만의 컬러와 스타일을 사용자 정의하는 방법, 주석 추가, 3D 그래프 처리, 타 애플리케이션과 통합하는 방법 등 기초부터 활용까지 고르게 설명하면서 예제 코드 중심으로 다룬다. 이 책에 제공되는 맷플롯립 코드는 다양한 분야에서 데이터 분석을 위한 시각화에 적용할 수 있다.

이 책에서 다루는 내용

■ 필요한 모든 일반적인 플롯을 생성하는 방법
■ 주석과 정교한 범례로 플롯을 풍요롭게 하는 방법
■ 플롯 제어와 컬러, 선 스타일, 크기를 조정하는 방법
■ 플롯에 차원을 추가해 3D화
■ 애플리케이션에 플롯 통합
■ 작업 자동화와 그래프 일괄처리 생성
■ 맷플롯립으로 대화형 플롯 생성
■ 플롯과 정교한 시각화 조합

이 책의 대상 독자

이 책은 파이썬 개념과 과학 배경 지식이 있는 독자를 대상으로 한다.

이 책의 구성

1장. 첫 걸음은 맷플롯립으로 작업하기 위한 기본을 알아보며, 예제로 기본적인 그림 유형을 살펴본다.

2장. 컬러와 스타일 사용자 정의는 그림의 컬러와 스타일을 제어하는 방법을 다루며, 표식, 선 굵기, 선 패턴, 그림의 여러 항목을 채색하는 컬러맵 사용법을 알아본다.

3장. 주석 사용은 그림에 주석을 다는 방법을 다루며, 축 범례, 화살표, 텍스트 상자, 모양을 추가하는 방법을 알아본다.

4장. 그림 사용은 복잡한 그림을 준비하는 방법을 다루며, 여러 그림 조합, 종횡비, 축 범위, 좌표계를 제어하는 방법을 알아본다.

5장. 파일 출력 처리는 비트맵과 벡터 포맷 중 하나인 파일 출력을 다룬다. 투명도, 해상도, 다중 페이지 같은 주제를 자세하게 알아본다.

6장. 맵 처리는 행렬과 유사한 데이터 플롯팅을 다루며, 맵, 떨림 플롯, 흐름 플롯 처리법을 알아본다.

7장. 3D 그림 사용은 3D 플롯을 다루며, 분산형 플롯, 선 플롯, 표면 플롯, 막대 차트 사용법을 알아본다.

8장. 사용자 인터페이스는 사용자 인터페이스 통합 솔루션 집합을 다루며, 범위는 가장 간단한 것부터 정교한 것까지 차례로 알아본다.

저자/역자 소개

지은이의 말

맷플롯립은 ScienticficPython 모듈 모음 중 하나로서, 사용자 정의 가능한 플롯의 방대한 라이브러리와 종합적인 백엔드 집합을 제공한다.

이 책은 완벽한 파이썬용 플롯팅 패키지인 맷플롯립에 대해 기초부터 설명하는 안내서다. 기본적인 플롯 개요, 플롯을 사용자 정의하는 방법과 정교한 그림을 만들 때 플롯을 조합하는 방법 등을 배울 수 있다. 이 책을 통해 대부분 플롯팅 패키지가 제공하는 일반적인 그림에 관해 학습하고, 전문적인 과학 플롯 생성에 필요한 기술을 습득할 수 있다.

지은이 소개

알렉상드르 드베르(Alexandre Devert)

과학자이며, 현재의 문제를 빠르게 해결하고자 노력하고 분자 생물학자를 위한 도구를 개발한다. 이전에는 데이터 마이닝, 소프트웨어 공학, 수치 최적화를 연구했다. 파이썬이 정말 미치도록 좋아서 한다는 열광적인 파이썬 코더다.

옮긴이의 말

20대 초반이었던 1998년에 매트랩(MATLAB)을 처음 접했을 때 두툼한 매뉴얼을 보면서 그게 뭐냐고 신기했던 때가 떠오릅니다. 그때는 C/C++의 포인터에 쩔쩔매던 시절이었는데, 커맨드라인에서 스크립트를 작성하고 엔터키만 치면 바로 결과가 나왔기 때문입니다. C/C++로 했다면 한 달간 꼬박 매달려야 했을 작업을 며칠 만에 끝냈으니 대학원 시절의 구세주였습니다. 그 후에 세월이 흐르고 IT 분야도 많이 바뀌고 모든 게 다 변했습니다. 그 와중에서 맷플롯립을 접했지만, 현업과 무관했기에 아쉬움을 뒤로 했습니다. 이 책을 번역할 기회를 얻고 번역을 하면서 제겐 매트랩과 맷플롯립의 기능을 비교하면서 마냥 풋풋했던 학창 시절의 추억을 더듬어보는 좋은 시간이었습니다.

유명한 파이썬 라이브러리 개발자이자 2012년에 세상을 떠난 존 헌터(John Hunter)가 2007년부터 오픈 소스로 공개한 맷플롯립은, 모두 잘 알고 있듯 2차원 그래프를 구현할 때 쓸 수 있는 데이터 시각화 도구인 파이썬 모듈입니다. http://matplotlib.org에서 맷플롯립 예제와 문서를 공개했으며, 2,000여 페이지에 이르는 방대한 PDF 매뉴얼까지 제공하고 있어 과학 분야에서 폭넓게 활용되는 파이썬 모듈로서 변함없는 사랑을 받고 있습니다.

상용 애플리케이션인 매트랩과 다른 플롯팅 패키지인 그누플롯(GNUplot)과 비교했을 때, 교차 플랫폼을 지원하는 맷플롯립은 파이썬의 장점을 잘 활용했으며, 단지 파이썬 코드만으로 파이썬의 여러 과학 컴퓨팅 패키지와 함께 조합하여 원하는 결과를 얻을 수 있고, 매트랩 같은 도구를 다룬 경험이 있다면 짧은 시간에 익숙해질 만큼 정말로 사용하기 쉽습니다.

맷플롯립을 사용하기 위한 설치부터 다양한 2차원 그래프 생성 및 표시, 파일 저장, 3차원 그래프 표시, 다른 애플리케이션과 통합까지 고르게 다루는 이 책은 기초부터 활용까지 아우르며 예제 코드와 함께 설명합니다. 여기까지는 다른 책과 다를 바 없을까요? 그럴 수도 있고 아닐 수 있습니다. 이 책은 따라 하기 방식이 아니기 때문에, 자신에게 필요한 내용과 코드를 그때마다 찾아볼 수 있으므로 항상 곁에 둘 수 있는 참고서이며, 구현에 걸리는 시간을 절약할 수 있습니다. 어쩌면 처음부터 시작하려는 독자에게는 만만치 않을 수도 있습니다. 하지만, 파이썬을 다룬 경험이 있다는 전제에서 맷플롯립만 중점으로 다루며, 다른 과학 컴퓨팅 패키지에 대한 선수 지식이 필요하지 않습니다. 참고로 맷플롯립을 다룬 PDF 매뉴얼도 있지만 영어인 데다가 2,000여 페이지에 이르기 때문에 한계가 있다는 점을 감안한다면 더 좋은 대안입니다.

사실 지금까지는 맷플롯립을 다룬 책이 거의 없어 적잖은 어려움이 있었기에, 맷플롯립을 전문적으로 다룬 책이 있었으면 얼마나 좋을까라며 아쉬워했던 적이 있었습니다. 그러던 중 이 책을 접했고 번역하고 출간할 수 있게 돼 매우 기쁩니다. 그만큼 파이썬으로 데이터 분석을 위한 그래프를 구현해보려는 독자 여러분에게 이 책이 도움이 되길 바랍니다.

옮긴이 소개

이문호

관심 분야는 정보검색과 문헌정보학이다. 매일 4시간 이상 출퇴근하며 다방면에 걸친 원서를 읽는 쏠쏠한 즐거움에 빠져 사는 아날로그 세대다. 현재 빅데이터 솔루션 개발에 전념하고 있으며, LOD(Linked Open Data) 기반 플랫폼과 관련된 체계적인 연구를 위해 문헌정보학 박사과정 진학을 준비하고 있다. 오픈소스 자바 검색 엔진인 루씬(Lucene)에 관한 첫 국내서인 『루씬 인 액션』(에이콘출판사, 2005)을 공역했다. 오픈소스 영상처리 라이브러리를 다룬 책을 오픈소스 라이브러리 실무 시리즈로 펴낸 저자로도 잘 알려져 있다. 『MATLAB을 활용한 실용 디지털 영상처리』(홍릉과학출판사, 2005), 『오픈소스 OpenCV를 이용한 컴퓨터 비전 실무 프로그래밍』(홍릉과학출판사, 2007) 등 7권을 냈으며, 『OpenCV 2 Computer Vision Application Programming Cookbook 한국어판』(에이콘출판사, 2012), 『EmguCV와 테서렉트 OCR로 하는 컴퓨터 비전 프로그래밍』(에이콘출판사, 2014)을 번역했다.

목차

목차
  • 1장 첫 걸음
  • __소개
  • __맷플롯립 설치
  • __곡선 하나 그리기
  • __넘피 사용
  • __다중 곡선 그리기
  • __파일 데이터로부터 곡선 그리기
  • __점 그리기
  • __막대 차트 그리기
  • __다중 막대 차트 그리기
  • __분할 막대 차트 그리기
  • __양방향 막대 차트 그리기
  • __원형 차트 그리기
  • __히스토그램 그리기
  • __상자그림 그리기
  • __삼각화 그리기

  • 2장 컬러와 스타일 사용자 정의
  • __소개
  • __자신만의 컬러 정의
  • __분산형 플롯용 사용자 정의 컬러 사용
  • __막대 차트용 사용자 정의 컬러 사용
  • __원형 차트용 사용자 정의 컬러 사용
  • __상자그림용 사용자 정의 컬러 사용
  • __분산형 플롯용 컬러맵 사용
  • __막대 차트용 컬러맵 사용
  • __선 패턴과 굵기 제어
  • __채움 패턴 제어
  • __표식 스타일 제어
  • __표식 크기 제어
  • __자신만의 표식 생성
  • __표식에 관한 더 많은 제어
  • __자신만의 컬러 구성표 생성

  • 3장 주석 사용
  • __소개
  • __제목 추가
  • __라텍스 스타일 표기법 사용
  • __각 축에 레이블 추가
  • __텍스트 추가
  • __화살표 추가
  • __범례 추가
  • __격자 추가
  • __선 추가
  • __모양 추가
  • __눈금 간격 제어
  • __눈금 레이블 붙이기 제어

  • 4장 그림 사용
  • __소개
  • __여러 그림 조합
  • __양 축을 동일하게 크기 조정
  • __축 범위 설정
  • __종횡비 설정
  • __부그림 삽입
  • __대수 척도 사용
  • __극좌표 사용

  • 5장 파일 출력 처리
  • __소개
  • __PNG 사진 파일 생성
  • __투명도 처리
  • __출력 해상도 제어
  • __PDF 또는 SVG 문서 생성
  • __다중 페이지 PDF 문서 처리

  • 6장 맵 처리
  • __소개
  • __2D 배열 내용 시각화
  • __컬러맵 범례를 그림에 추가
  • __비균등 2D 데이터 시각화
  • __2D 스칼라장 시각화
  • __등고선 시각화
  • __2D 벡터장 시각화
  • __2D 벡터장의 유선 시각화

  • 7장 3D 그림 사용
  • __소개
  • __3D 분산형 플롯 생성
  • __3D 곡선 플롯 생성
  • __스칼라장을 3D로 그리기
  • __매개변수 3D 곡면 그리기
  • __3D 그림 안에 2D 그림을 넣기
  • __3D 막대 플롯 생성

  • 8장 사용자 인터페이스
  • __소개
  • __사용자가 제어할 수 있는 플롯 생성
  • __플롯을 트킨터 사용자 인터페이스에 통합
  • __플롯을 wxWidgets 사용자 인터페이스에 통합
  • __플롯을 GTK 사용자 인터페이스에 통합
  • __플롯을 파이글렛 애플리케이션에 통합

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안