Matplotlib 컬러맵 설정하기


Matplotlib 컬러맵 설정하기

matplotlib.pyplot 모듈은 컬러맵을 간편하게 설정하기 위한 여러 함수를 제공합니다.

아래의 함수들을 사용해서 그래프의 컬러맵을 설정하는 방식에 대해 소개합니다.

autumn(), bone(), cool(), copper(), flag(), gray(), hot(), hsv(), inferno(), jet(), magma(), nipy_spectral(),

pink(), plasma(), prism(), spring(), summer(), viridis(), winter().

Keyword: colormap, 컬러맵 설정



1) 기본 사용


Matplotlib 컬러맵 설정하기 - 기본 사용

예제

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(0)
arr = np.random.standard_normal((8, 100))

plt.subplot(2, 2, 1)
# plt.scatter(arr[0], arr[1], c=arr[1], cmap='spring')
plt.scatter(arr[0], arr[1], c=arr[1])
plt.spring()
plt.title('spring')

plt.subplot(2, 2, 2)
plt.scatter(arr[2], arr[3], c=arr[3])
plt.summer()
plt.title('summer')

plt.subplot(2, 2, 3)
plt.scatter(arr[4], arr[5], c=arr[5])
plt.autumn()
plt.title('autumn')

plt.subplot(2, 2, 4)
plt.scatter(arr[6], arr[7], c=arr[7])
plt.winter()
plt.title('winter')

plt.tight_layout()
plt.show()

subplot() 함수를 이용해서 네 영역에 각각의 그래프를 나타내고,

spring(), summer(), autumn(), winter() 함수를 이용해서 컬러맵을 다르게 설정했습니다.

결과는 아래와 같습니다.


Matplotlib 컬러맵 설정하기 - 기본 사용

Matplotlib 컬러맵 설정하기 - 기본 사용





2) 컬러바 나타내기


Matplotlib 컬러맵 설정하기 - 컬러바 나타내기

예제

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(0)
arr = np.random.standard_normal((8, 100))

plt.subplot(2, 2, 1)
plt.scatter(arr[0], arr[1], c=arr[1])
plt.viridis()
plt.title('viridis')
plt.colorbar()

plt.subplot(2, 2, 2)
plt.scatter(arr[2], arr[3], c=arr[3])
plt.plasma()
plt.title('plasma')
plt.colorbar()

plt.subplot(2, 2, 3)
plt.scatter(arr[4], arr[5], c=arr[5])
plt.jet()
plt.title('jet')
plt.colorbar()

plt.subplot(2, 2, 4)
plt.scatter(arr[6], arr[7], c=arr[7])
plt.nipy_spectral()
plt.title('nipy_spectral')
plt.colorbar()

plt.tight_layout()
plt.show()

colorbar() 함수를 사용하면 그래프 영역에 컬러바를 포함할 수 있습니다.

결과는 아래와 같습니다.


Matplotlib 컬러맵 설정하기 - 컬러바 나타내기

Matplotlib 컬러맵 설정하기 - 컬러바 나타내기





3) 컬러맵 종류


Matplotlib 컬러맵 설정하기 - 컬러맵 종류

예제

import matplotlib.pyplot as plt
from matplotlib import cm

cmaps = plt.colormaps()
for cm in cmaps:
    print(cm)
Accent
Accent_r
Blues
Blues_r
BrBG
BrBG_r
BuGn
BuGn_r
BuPu
BuPu_r
CMRmap
CMRmap_r
Dark2
Dark2_r
GnBu
GnBu_r
Greens
Greens_r
Greys
Greys_r
OrRd
OrRd_r
Oranges
Oranges_r
PRGn
PRGn_r
Paired
Paired_r
Pastel1
Pastel1_r
Pastel2
Pastel2_r
PiYG
PiYG_r
PuBu
PuBuGn
PuBuGn_r
PuBu_r
PuOr
PuOr_r
PuRd
PuRd_r
Purples
Purples_r
RdBu
RdBu_r
RdGy
RdGy_r
RdPu
RdPu_r
RdYlBu
RdYlBu_r
RdYlGn
RdYlGn_r
Reds
Reds_r
Set1
Set1_r
Set2
Set2_r
Set3
Set3_r
Spectral
Spectral_r
Wistia
Wistia_r
YlGn
YlGnBu
YlGnBu_r
YlGn_r
YlOrBr
YlOrBr_r
YlOrRd
YlOrRd_r
afmhot
afmhot_r
autumn
autumn_r
binary
binary_r
bone
bone_r
brg
brg_r
bwr
bwr_r
cividis
cividis_r
cool
cool_r
coolwarm
coolwarm_r
copper
copper_r
cubehelix
cubehelix_r
flag
flag_r
gist_earth
gist_earth_r
gist_gray
gist_gray_r
gist_heat
gist_heat_r
gist_ncar
gist_ncar_r
gist_rainbow
gist_rainbow_r
gist_stern
gist_stern_r
gist_yarg
gist_yarg_r
gnuplot
gnuplot2
gnuplot2_r
gnuplot_r
gray
gray_r
hot
hot_r
hsv
hsv_r
inferno
inferno_r
jet
jet_r
magma
magma_r
nipy_spectral
nipy_spectral_r
ocean
ocean_r
pink
pink_r
plasma
plasma_r
prism
prism_r
rainbow
rainbow_r
seismic
seismic_r
spring
spring_r
summer
summer_r
tab10
tab10_r
tab20
tab20_r
tab20b
tab20b_r
tab20c
tab20c_r
terrain
terrain_r
twilight
twilight_r
twilight_shifted
twilight_shifted_r
viridis
viridis_r
winter
winter_r

pyplot 모듈의 colormaps() 함수를 사용해서 Matplotlib에서 사용할 수 있는 모든 컬러맵의 이름을 얻을 수 있습니다.

winterwinter_r은 순서가 앞뒤로 뒤집어진 컬러맵입니다.


컬러맵 예시

아래 그림은 각 컬러맵의 예시를 나타냅니다.


_images/set_colormap_00_1.png


이전글/다음글