Matplotlib 에서 사용자 정의 컬러바 눈금 레이블 생성하기

Beginner

This tutorial is from open-source community. Access the source code

소개

데이터 시각화에서 컬러바는 색상을 사용하여 데이터 세트의 값 범위를 나타내는 데 사용됩니다. Matplotlib 은 컬러바를 포함한 다양한 시각화를 생성하기 위한 Python 라이브러리입니다. 이 랩에서는 Matplotlib 에서 컬러바의 눈금 레이블을 사용자 정의하는 방법을 배웁니다.

VM 팁

VM 시작이 완료되면 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 액세스하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한 사항으로 인해 작업의 유효성 검사는 자동화할 수 없습니다.

학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 즉시 해결해 드리겠습니다.

필요한 라이브러리 가져오기 및 난수 상태 고정

먼저, 필요한 라이브러리를 가져오고 재현성을 위해 난수 상태를 고정해야 합니다. numpy를 사용하여 일부 임의 데이터를 생성하고, 시각화를 위해 matplotlib.pyplot을 사용하며, 컬러 맵을 정의하기 위해 matplotlib에서 cm을 사용합니다.

import matplotlib.pyplot as plt
import numpy as np
from numpy.random import randn

from matplotlib import cm

## Fixing random state for reproducibility
np.random.seed(19680801)

수직 컬러바가 있는 플롯 생성

수직 컬러바가 있는 플롯을 생성하는 것으로 시작합니다. numpyrandn을 사용하여 일부 임의 데이터를 생성하고 값을 -1 에서 1 범위로 클리핑합니다. 그런 다음 imshowcoolwarm 컬러맵을 사용하여 AxesImage 객체를 생성합니다. 마지막으로 플롯에 제목을 추가합니다.

## Make plot with vertical (default) colorbar
fig, ax = plt.subplots()

data = np.clip(randn(250, 250), -1, 1)

cax = ax.imshow(data, cmap=cm.coolwarm)
ax.set_title('Gaussian noise with vertical colorbar')

수직 컬러바의 눈금 레이블 사용자 정의

다음으로, 수직 컬러바의 눈금 레이블을 사용자 정의합니다. colorbar를 사용하여 컬러바를 생성하고 ticks 매개변수를 사용하여 눈금 위치를 지정합니다. 그런 다음 컬러바 객체의 ax 속성에서 set_yticklabels을 사용하여 눈금 레이블을 설정합니다.

## Add colorbar, make sure to specify tick locations to match desired ticklabels
cbar = fig.colorbar(cax, ticks=[-1, 0, 1])
cbar.ax.set_yticklabels(['< -1', '0', '> 1'])  ## vertically oriented colorbar

수평 컬러바가 있는 플롯 생성

이제 수평 컬러바가 있는 플롯을 생성합니다. 2 단계와 동일한 단계를 따르지만, 이번에는 afmhot 컬러맵을 사용하고 컬러바의 방향을 수평으로 설정합니다.

## Make plot with horizontal colorbar
fig, ax = plt.subplots()

data = np.clip(randn(250, 250), -1, 1)

cax = ax.imshow(data, cmap=cm.afmhot)
ax.set_title('Gaussian noise with horizontal colorbar')

cbar = fig.colorbar(cax, ticks=[-1, 0, 1], orientation='horizontal')
cbar.ax.set_xticklabels(['Low', 'Medium', 'High'])  ## horizontal colorbar

플롯 표시

마지막으로, plt.show()를 사용하여 플롯을 표시합니다.

plt.show()

요약

이 랩에서는 Matplotlib 에서 컬러바의 눈금 레이블을 사용자 정의하는 방법을 배웠습니다. 먼저 수직 컬러바가 있는 플롯을 생성하고 set_yticklabels을 사용하여 눈금 레이블을 사용자 정의했습니다. 그런 다음 수평 컬러바가 있는 플롯을 생성하고 set_xticklabels을 사용하여 눈금 레이블을 사용자 정의했습니다. 컬러바의 눈금 레이블을 사용자 정의하면 시각화를 더 유익하고 읽기 쉽게 만들 수 있습니다.