Skip to content
튜토리얼
Matplotlib
Matplotlib에서 커스텀 색상 맵 활용하기: 포괄적인 가이드

Matplotlib에서 컬러 맵 활용하기: 포괄적인 가이드

데이터 시각화는 데이터 과학자에게 꼭 필요한 기술입니다. 복잡한 데이터를 이해하는 데 도움이 되며, 패턴을 발견하고 머신 러닝 알고리즘을 안내하는 직관을 개발하는 데 도움이 됩니다. Python에서 인기 있는 데이터 시각화 라이브러리 중 한 가지는 Matplotlib입니다. Matplotlib의 강력함과 다양성으로 정적, 애니메이션 및 대화형 플롯의 다양한 유형을 만들 수 있습니다. 이 강좌에서는 데이터 시각화의 중요한 부분인 Matplotlib에서의 색상 맵에 대해 자세히 살펴보겠습니다.

Python Pandas 데이터프레임을 바탕으로 데이터 시각화를 쉽게 만드는 방법을 원하시나요?

PyGWalker는 시각화를 통한 탐색적 데이터 분석을 위한 Python 라이브러리입니다. PyGWalker (opens in a new tab)를 이용하면, pandas 데이터프레임과 polars 데이터프레임을 Tableau 스타일의 UI로 변환하여, 시각적 탐색을 할 수 있습니다.

PyGWalker를 활용한 데이터 시각화 (opens in a new tab)

색상 맵이란?

색상 맵은 시각적 데이터 분석의 중요한 요소입니다. 데이터 값을 색으로 매핑하여, 우리의 뇌가 데이터의 패턴을 인식하는 데 도움을 줍니다. Matplotlib은 순차형 색상 맵, 발산형 색상 맵, 질적 색상 맵 및 순환형 색상 맵을 포함한 다양한 색상 맵을 제공합니다. 하지만 때로는 이러한 기본 색상 맵만으로는 충분하지 않을 수 있습니다. 그렇다면 커스텀 색상 맵을 사용해보겠습니다.

커스텀 색상 맵 만들기

색상 맵의 종류 이해하기

새로운 색상 맵을 만드는 방법을 배우기 전에, 사용 가능한 다양한 색상 맵 유형을 이해하는 것이 중요합니다. 이를 통해 색상 맵을 효과적으로 수정할 수 있습니다.

  1. 순차형 색상 맵: 이러한 색상 맵은 밝기가 부드럽게 변하고 때로는 색상도 변합니다. 연속적인 순서를 가진 데이터를 나타낼 때 사용하기 적합합니다. 인기 있는 예로 'Hot Colormap' 및 'Rdbu Colormap'이 있습니다. 이러한 색상 맵을 수정하는 방법은 여기서 확인할 수 있습니다.

  2. 발산형 색상 맵: 이러한 색상 맵은 두 가지 서로 다른 방향으로 밝기와 (가능하면) 색상이 변화합니다. 데이터가 중간 값 (예: 0)이 중요한 경우에 유용합니다.

  3. 질적 색상 맵: 이러한 색상 맵은 종종 색상이 급격하게 변하기 때문에 범주형 데이터에 사용하기 적합합니다.

  4. 순환형 색상 맵: 이러한 색상 맵은 각도 (페이즈 각도, 풍향 또는 시간)를 나타내는 데이터에 사용됩니다.

무작위 데이터셋 생성하기

Pandas 라이브러리를 사용하여 무작위 데이터셋을 생성합니다. 이 데이터셋은 커스텀 색상 맵의 영향을 시각화하는데 도움이 됩니다. 무작위 데이터셋을 생성하는 방법에 대한 설명은 여기서 확인할 수 있습니다.

Matplotlib에서 커스텀 색상 맵 생성하기

Matplotlib에서 커스텀 색상 맵을 만드는 것은 간단합니다. Matplotlib 색상 형식에서 지정된 색상 목록에서 색상을 정의할 수 있으며, 이 색상들은 컬러 맵에서 균등하게 간격이 맞춰집니다. 다음과 같이 빨간색에서 파란색으로 전환되는 컬러 맵을 만들 수 있습니다.

import matplotlib.pyplot as plt
import numpy as np
 
cmap = plt.cm.colors.ListedColormap(['red', 'blue'])

기존 색상 맵 수정하기

Matplotlib의 Colormap 클래스를 사용하여 기존의 색상 맵도 수정할 수 있습니다. get_cmap 함수를 사용하여 기존의 색상 맵에서 새로운 색상 맵을 만들고, 다시 RGBA 색상을 직접 수정할 수 있습니다. 이에 대한 자세한 내용은 여기서 확인할 수 있습니다.

커스텀 색상 맵으로 데이터 시각화하기

사용자 정의 colormap이 준비되었으므로 데이터를 시각화해 봅시다. 우리는 서브플롯(subplots)을 사용하여 사용자 정의 colormap과 기본 colormap을 비교할 것입니다. 서브플롯을 생성하는 방법에 대해 여기에서 더 자세히 알아볼 수 있습니다.

fig, axs = plt.subplots(2)
 
# Using the default colormap
img1 = axs[0].imshow(data, cmap='viridis')
fig.colorbar(img1, ax=axs[0], orientation='vertical')
axs[0].set_title('Default Colormap')
 
# Using the custom colormap
img2 = axs[1].imshow(data, cmap=cmap)
fig.colorbar(img2, ax=axs[1], orientation='vertical')
axs[1].set_title('Custom Colormap')
 
plt.show()

위 코드에서 imshow 함수는 데이터 값을 기반으로 색상 강도로 이미지를 표시하는 데 사용됩니다. colorbar 함수는 서브플롯에 컬러바(colorbar)를 추가하며, set_title 함수는 서브플롯의 제목을 설정합니다.

Matplotlib 이상: Seaborn, Plotly, 등 다양한 라이브러리

Matplotlib은 데이터 시각화를 위한 강력한 라이브러리이지만, Python에서 데이터 시각화를 위한 유일한 라이브러리는 아닙니다. Seaborn이나 Plotly와 같은 라이브러리는 Matplotlib과 좋은 호환성을 갖추며, 각각 매력적인 기능을 제공합니다. 예를 들어, Seaborn은 Matplotlib 위에 구축된 라이브러리이며 추가 플롯 유형을 제공합니다. 기본값으로 더 나은 모양의 플롯을 제공합니다. Plotly는 대화식 플롯을 생성하는 데 특화되어 있습니다. 이러한 라이브러리에 대한 자세한 정보는 여기에서 확인할 수 있습니다.

결론

데이터 시각화에서 색상의 제어와 사용자 정의가 중요한 역할을 합니다. 칼라맵을 효과적으로 이해하고 사용하면 시각적 데이터 분석을 크게 향상시킬 수 있습니다. 칼라맵의 선택은 데이터의 중요한 측면을 강조하거나 해석을 잘못 유도할 수 있습니다.

Matplotlib에서 사용자 정의 color map을 생성, 수정 및 효과적으로 사용하는 방법에 대해 유용한 통찰력을 얻으시길 바랍니다. 데이터 과학과 기계 학습의 여정에서 이러한 기술은 귀중한 자산이 될 것입니다. pandas 및 기타 Python 주제에 대한 자습서를 더 보려면 자습서 색인을 방문하십시오.