Top

매트랩 그래픽과 데이터 시각화 [데이터의 다양한 특성과 용도에 맞춘 시각화 방법]

  • 원서명MATLAB Graphics and Data Visualization Cookbook (ISBN 9781849693165)
  • 지은이스와프노닐 배너지(Swapnonil Banerjee), 니베디타 마줌다르(Nivedita Majumdar)
  • 옮긴이이문호
  • ISBN : 9788960779327
  • 30,000원
  • 2017년 01월 19일 펴냄
  • 페이퍼백 | 344쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

소스 파일은 아래 깃허브 페이지에서 내려 받으실 수 있습니다.
(https://github.com/AcornPublishing/matlab-cookbook)

요약

매트랩으로 1차원 데이터부터 2차원, 3차원 데이터, 그리고 고차원 데이터를 시각화해 쉽게 이해할 수 있도록 설명한다. 데이터 특성에 맞춰 다양한 범용 플롯 활용법부터 시작해 투명도, 조명, 뷰 제어 같은 그래프 고급 제어 기능, 고차원 데이터 변환 기법과 콜백 함수 기반의 대화형 그래픽 등 수준별로 다양한 예제를 제공하며, 이 과정에서 매트랩 그래프 활용법과 더불어 데이터 분석에 대한 통찰력을 얻을 수 있을 것이다.

이 책에서 다루는 내용

■ 매트랩 플롯 소개와 매트랩 그래프의 기본 및 고급 유형 이해
■ 일반적인 시각화 실수 사례와 이를 피하는 방법 소개
■ 1, 2, 3차원, 그 이상의 고차원 데이터 응용
■ 사용자 정의 레이블과 범례를 포함한 다양한 주석 기술 사용
■ 사용자 정의 배치, 조명, 투명도와 카메라 위치 잡기로 데이터 표시 설계
■ 애니메이션과 대화형 그래픽 구현
■ 적합한 영상 품질과 해상도로 발표와 출판을 위한 시각화 설계

이 책의 대상 독자

이 책은 특정 분석이나 탐색 데이터 시각화를 수행한 결과 표현에 관심이 있는 학계와 업계 실무자를 대상으로 한다. 데이터 자체는 임의의 소스에서 나올 수 있고, 데이터를 매트랩에 입력하기 위한 옵션을 논의한다. 고급 매트랩 경험이 필요하지는 않지만 매트랩 프로그래밍에 기본적으로 익숙하다고 가정한다. 예제를 작은 단계로 상세하게 세분화해, 새로운 데이터에 쉽게 적용할 수 있도록 한 흥미진진한 그래픽을 생성하기 위한 안내서다. 데이터 분석 워크플로우에 쉽게 통합할 수 있도록 사용자 정의를 위한 몇몇의 매력적인 옵션을 함수로 활용할 수 있게 만들었다.

이 책의 구성

1장, ‘매트랩 그래픽의 요소 사용자 정의–기본’에서는 매트랩에 내장된 그래프를 사용자 정의하는 매트랩 핸들 그래픽 기술의 사용 방법을 소개한다. 배치, 격자화, 레이블과 범례 등의 기본 그래프 요소를 변경하는 방법을 예제를 통해 보여준다. 또한 정보를 묘사하는 색상 사용을 시도하기도 했다.
2장, ‘1차원 데이터 표시에 뛰어들기’에서는 1차원 데이터 시각화에서 활용할 수 있는 옵션을 제시한다. 선 플롯, 막대 플롯, 분산형 플롯, 파이 차트, 줄기 플롯과 계단 플롯 같은 범용 차트 유형부터 시작한다. 더 나아가 상자 플롯과 꺾은선, 분할 선 그래프와 노드 링크 플롯 같은 특수한 그래프를 예제로 다룬다. 한 예제는 달력에 일별 데이터를 바로 보여주는 히트 맵 사용에 전념한다. 마지막 예제는 결과를 시각화하는 특수 플롯을 필요로 하는 분포 데이터 분석과 시계열 데이터 분석 같은 분석 접근 방법에 중점을 둔다.
3장, ‘2차원 데이터 표시 마무리’에서는 2차원 데이터 시각화에서 활용할 수 있는 옵션을 제시한다. 분산형 플롯과 분산형 플롯 스무딩 관련 옵션 같은 범용적인 차트 유형부터 시작하며, 2D 노드 링크 플롯, 계통도와 군집도 같은 설계를 예제로 다룬다. 더 나아가 등고선 플롯 예제를 다룬다. 한 예제는 비균등 격자에 있는 수집된 데이터를 다루는 방법에 전념한다. 마지막 예제는 단계구분도, 기호가 있는 주제도, 유선도로 지도에 있는 데이터를 표현하는 특수한 그래픽을 다룬다.
4장, ‘매트랩 그래픽의 요소 사용자 정의–고급’에서는 매트랩에 내장된 그래프인 이름 그대로 투명도, 조명, 뷰 제어를 사용자 정의할 수 있는 고급 기능을 소개한다.
5장, ‘빅 리그에서 3차원 데이터 출력 다루기’에서는 체적(volumetric) 데이터에 중점을 둔 3차원 데이터 시각화에서 활용할 수 있는 옵션을 제시한다. 3D 분산형 플롯부터 시작하여, 이후 스칼라 데이터 시각화를 위한 slices, isosurfaces, isnormals와 isocaps를 예제로 다룬다. 다음으로는 흐름 선과 벡터 데이터 시각화를 위한 선, 리본이나 관을 이용한 방향을 묘사하는 다양한 옵션 사용법을 다룬다. 몇몇의 예제는 3D 데이터 탐색을 위한 효율적인 방법을 만드는 조명과 뷰 제어 메커니즘으로 기본 3D 기술을 조합한다.
6장, ‘고차원 데이터 설계’에서는 고데이터 차원을 위한 시각화 옵션을 제시한다. 예제는 2D의 다중 차원을 어떻게 표현하는지 보여주는 글리프와 평행좌표 사용법을 다룬다. 다음 예제는 동일한 목적을 달성하기 위해 활용 가능한 그래픽 기능 중에서 덧차원을 어떻게 코드화하는지 보여준다. 추가 예제는 데이터를 식별하여 핵심적인 데이터 크기로 초점을 이동하는 주성분 분석이나 방사 좌표 투영 같은 기술을 사용해 데이터를 변환하는 방법을 보여준다.
7장, ‘대화형 그래픽과 애니매이션 생성’에서는 대화형 그래픽과 애니메이션을 생성하는 매트랩의 능력을 시연한다. 예제는 사용자 상호작용으로 사용자 정의 행동을 추가하는 콜백 기능을 프로그래밍하기 위한 핵심을 다룬다. 다음 예제는 데이터 브러싱과 연결 등의 탐색 기술을 포함해 그래프로부터 사용자에게 직접 입력을 받는 방법을 다룬다. 다른 예제는 프레임 시퀀스를 애니메이션화하는 방법 또는 애니메이션 효과를 생성하기 위해 지우고 다시 그리는 전략을 다룬다.
8장, ‘출판과 발표를 위한 그래픽 완료’에서는 영상 품질을 조정하고 다른 발표 목표에 부합되도록 형식화하는 옵션을 다루며, 하드 카피나 전자 포맷 중 발표나 출판을 위한 그래픽을 설계하는 동안 명심해야 하는 팁을 포함한다.

본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.

저자/역자 소개

지은이의 말

데이터에 적합한 플롯 유형을 빠르게 식별하는 그래프 메뉴를 제공한다. 단계별 예제 스타일은 빠른 시간 내 데이터에 기술을 적용할 수 있게 한다. 몇 가지 매력적인 사용자 정의는 함수로 제공되며 데이터 분석 워크플로우에 쉽게 통합된다. 필요한 부분을 간단하면서도 강력하게 빨리 찾도록 예제 찾아보기를 제공했다. 이 책은 기술을 구성하는 중심 테마인 데이터 차원과 복잡도를 이용한 시각화 주제에 접근한다.

지은이 소개

니베디타 마줌다르(Nivedita Majumdar)

매트랩에 풍부한 경험을 쌓은 개발 엔지니어다. 컴퓨터 과학 정보학 분야의 박사 학위를 보유하고 있으며 지난 10년간 커뮤니케이션과 생명과학 산업 관련 데이터 분석 도구와 알고리즘을 개발해왔다. 통찰력 있는 데이터 탐색용 도구인 시각화에 깊은 관심이 있다. 데이터 시각화와 알고리즘 프로토타이핑을 위한 환경으로 매트랩을 선호하는 열광적인 애호가다.

스와프노닐 배너지(Swapnonil Banerjee)

물리학 박사 학위와 전자통신공학 학사 학위를 받은 이론 물리학자다. 신호처리, 수치 데이터 모델링, 곡선 맞춤, 미적분학, 몬테카를로 시뮬레이션 분야에 관한 매트랩 개발 경험이 풍부하다.

옮긴이의 말

예전부터 그랬고 지금도 변함이 없는 화두거리인 시각화는 데이터 분석 결과를 누구나 쉽게 이해할 수 있도록 시각으로 표현해 전달하는 과정이다. 데이터 분석 관련 업체들이 빅데이터 분석 시장의 성장 가능성을 눈여겨보고 데이터 시각화 솔루션을 속속 출시하고 있는 것도 결코 무관하지 않을 것이다. 여기서 주목해야 할 부분은 데이터는 분야마다 특성이 다르기에 어떤 시각화 방법을 써야 하고, 무슨 도구를 사용해야 하는지는 정답이 없다는 점이다. 예로 시각화 방법을 들자면 시간 시각화, 공간 시각화, 분포 시각화, 관계 시각화, 비교 시각화, 고차원 시각화, 대화형 시각화 등 다양하다. 따라서 입문자에게는 어려움이 있을 수 있다. 시행착오를 줄이는 절대적인 지름길이 없다지만, 분석 대상인 데이터를 충분히 이해하고 이에 맞춰 어떻게 표현할지 고민한 후, 적합한 그래프 표시 방법을 잘 찾을 수 있는 방법을 나름대로 정리하면 어떨까? 그다음에는 시각화를 극대화하기 위해 그래프를 더 정교하게 다듬는 방법을 연구해도 늦지 않다. 접근 방법이 어느 정도는 다르겠지만 위 내용과 일맥상통하는 이 책에서는 매트랩을 이용한 데이터 시각화에 관심이 많은 독자를 대상으로 간단한 1차원부터 3차원까지, 더 나아가 고차원 데이터를 대상으로 적합한 그래프를 띄우는 알찬 예제를 담아냈다. 특히 저자는 생물과학 분야에 종사하고 있어 관련 분야와 관련된 시각화 방법을 시중의 다른 책에 비해 좀 더 다루고 있다는 점이 흥미롭다. 아무튼 이 책의 내용을 자세하게 설명하자면 어떠한 데이터라도 쉽게 표현할 수 있도록 데이터 특성에 따라 체계화했는데, 실제로 매트랩의 격자, 레이블, 배치 같은 기본 그래프 요소 활용과 사용자 정의부터 시작해 1차원과 2차원 데이터 시각화를 위한 선 플롯, 막대 플롯, 분산형 플롯, 줄기 플롯 등의 범용 차트, 투명도, 조명, 뷰 제어 같은 고급 기능, 체적 데이터에 기반을 둔 3차원 데이터 시각화, 다차원 데이터를 표현하는 글리프와 평행좌표, 주성분 분석, 방사 좌표 투영 기술, 콜백 함수 기반 대화형 그래픽 등까지 수준별 예제를 잘 정리했다. 이와 같이 이 책은 단계별 학습 방식을 채택한 책이 아니기 때문에 수시로 필요한 내용을 확인해 응용할 수 있으므로, 궁극적으로 데이터 분석에 대한 통찰력과 그래프 활용법을 동시에 잡을 수 있다.

옮긴이 소개

이문호

관심 분야는 정보 검색이며, 매일 4시간 이상 걸리는 출퇴근 시간에 다방면의 원서를 읽는 쏠쏠한 즐거움에 빠져 사는 아날로그 세대다. 영상처리를 전공으로 석사를 마쳤고, 현재 문헌정보학 박사 과정에 있으며, 컴퓨터 비전 기반 지능형 솔루션 개발에 전념하고 있다. 오픈소스 자바 검색 엔진인 루씬(Lucene)에 관한 첫 국내서인 『루씬 인 액션』(에이콘, 2005)을 공역했으며, 오픈소스 영상처리 라이브러리를 다룬 오픈소스 라이브러리 실무 시리즈 도서를 펴낸 저자로도 잘 알려져 있다. 『MATLAB을 활용한 실용 디지털 영상처리』(홍릉과학, 2005), 『오픈소스 OpenCV를 이용한 컴퓨터 비전 실무 프로그래밍』(홍릉과학, 2007) 등 7권의 책을 저술했으며, 번역서로는 에이콘출판사에서 출간한 『OpenCV 2 Computer Vision Application Programming Cookbook 한국어판』(2012), 『EmguCV와 테서렉트 OCR로 하는 컴퓨터 비전 프로그래밍』(2014), 『OpenCV 프로그래밍』(2015), 『(개정판) OpenCV를 활용한 컴퓨터 비전 프로그래밍』(2015), 『matplotlib을 이용한 데이터 시각화 프로그래밍』(2015), 『OpenCV 컴퓨터 비전 프로젝트』(2016), 『C# 멀티스레드 프로그래밍』(2016), 『안드로이드 비동기 프로그래밍』(2016), 『매트랩 영상처리 프로그래밍』(2016), 『파이썬 병렬 프로그래밍』(2016)이 있다.

목차

목차
  • 1장 매트랩 그래픽의 요소 사용자 정의 - 기본
    • 소개
    • 첫 매트랩 플롯 만들기
    • 겹침이 없는 긴 눈금 레이블 배치
    • 축에 고정된 주석 사용
    • 가독성을 위한 터프트 스타일 격자화
    • 범례로 혼란 정리
    • 데이터 변환으로 상세한 시각화
    • 다중 그래프 배치 설계
    • 알고리즘 테스트 결과를 비교하기 위한 시각화

  • 2장 1차원 데이터 표시에 뛰어들기
    • 소개
    • 파이 차트, 줄기 플롯과 계단 플롯
    • 상자 플롯
    • 꺾은선
    • 분할선 그래프
    • 노드 링크 플롯
    • 달력 열지도
    • 분산 데이터 분석
    • 시계열 분석

  • 3장 2차원 데이터 표시 마무리
    • 소개
    • 2D 분산형 플롯
    • 분산형 플롯 스무딩
    • 양방향 오차 막대
    • 2D 노드 링크 플롯
    • 계통도와 군집도
    • 등고선 플롯
    • 분산형 데이터 격자화
    • 단계구분도
    • 기호가 있는 주제도
    • 유선도

  • 4장 매트랩 그래픽의 요소 사용자 정의–고급
    • 소개
    • 투명도
    • 조명
    • 뷰 제어
    • 조명, 투명도, 뷰 간의 상호 작용

  • 5장 빅 리그에서 3차원 데이터 출력 다루기
    • 소개
    • 3D 분산형 플롯
    • slice(횡단면 뷰)
    • isosurface, isonormals와 isocaps
    • 흐름 단면
    • 흐름선, 흐름 리본, 흐름관
    • 기술을 조합한 스칼라와 벡터 데이터
    • 카메라 모션으로 탐색

  • 6장 고차원 데이터 설계
    • 소개
    • 고분광 데이터 융합
    • 서베이 플롯
    • 글리프
    • 평행 좌표
    • 트리 맵
    • 앤드류 곡선
    • 빠른 그래프를 위한 데이터 축소
    • 주성분 분석
    • 방사 좌표 시각화

  • 7장 대화형 그래픽과 애니메이션 생성
    • 소개
    • 콜백 함수
    • 그래프로부터 사용자 입력 받기
    • 연결된 축과 데이터 브러싱
    • 확대경 데모
    • 캡처한 프레임으로 애니메이션 재생
    • 흐름 입자 애니메이션
    • 차트 요소의 점진적인 변화를 통한 애니메이션

  • 8장 출판과 발표를 위한 그래픽 완성
    • 소개
    • 포맷과 해상도 내보내기
    • 문서 안에 들어가는 벡터 그래픽
    • 화면 폰트 크기와 종횡비 보존
    • 코드와 그래픽을 웹페이지에 게시

도서 오류 신고

도서 오류 신고

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

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

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