FlowingData 블로그의 게시물 은 R 기본 그래픽을 사용하여 아래에서 히트 맵을 빠르게 만드는 방법을 알려 주고있습니다..

이 게시물은 ggplot2를 사용하여 매우 유사한 결과를 얻는 방법을 보여줍니다.

nba_heatmap_revised.png


데이터 가져오기

FlowingData는 databasebasketball.com에서 제공한 지난 시즌의 NBA 농구 통계를 사용했으며 데이터가 포함 된 csv 파일은 해당 웹 사이트에서 직접 다운로드 할 수 있습니다.

 

플레이어는 점수가 매겨진 점수에 따라 순서가 정해지고 Name 변수는 점수의 적절한 정렬을 보장하는 요소로 변환됩니다.

 

FlowingData는 플롯 된 값을 매트릭스 형식으로해야하는 stats-package에서 heatmap 함수를 사용하지만, ggplot2는 데이터 프레임과 함께 작동합니다. 처리가 쉽도록 데이터 프레임이 와이드 형식에서 긴 형식으로 변환됩니다.

게임 통계에는 매우 다른 범위가 있으므로 비교할 수 있도록 모든 개별 통계가 재조정됩니다.


플로팅

ggplot2에는 특정 히트맵 플로팅 기능이 없지만 geom_tile과 부드러운 그라데이션 채우기를 결합하면 작업이 잘 수행됩니다.

basketball_heatmap-008.png

포맷팅에 몇 가지 마무리가 적용되며 히트맵 도면이 표시 될 준비가되었습니다.

basketball_heatmap-010.png

재조정 업데이트

 

위의 그림에 대한 데이터를 준비 할 때 모든 변수는 0과 1 사이의 값이되도록 재조정되었습니다.

Jim은 heatmap-function이 다른 크기 조정 방법을 사용한다는 점을 주석에서 지적했습니다. (그리고 처음에는 얻지 못했습니다.) 따라서 그 그림은 동일하지 않습니다. 아래는 히트 맵의 업데이트 된 버전으로 원본과 훨씬 비슷하게 보입니다.

basketball_heatmap-013.png

소스: ggplot2: Quick Heatmap Plotting | Learning R