Python Matplotlib에서 리버스 컬러 맵 만들기

Suraj Joshi 2023년1월30일
  1. Matplotlib Python의 컬러 맵
  2. Matplotlib Python에서_r로 컬러 맵 반전
  3. matplotlib.colors.Colormap.reversed()를 사용하여 Matplotlib Python에서 컬러 맵 반전
Python Matplotlib에서 리버스 컬러 맵 만들기

컬러 맵은 데이터 값을 색상에 매핑하는 간단한 방법입니다. 색상 맵을 반전하는 것은 각 값의 색상 맵을 반전하는 것을 의미합니다. 낮은 값은 노란색에 매핑되고 높은 값은 빨간색에 매핑되는 컬러 맵이 있다고 가정합니다. 컬러 맵을 반대로하면 낮은 값은 이제 빨간색색상으로, 높은 값은 ‘노란색’색상으로 매핑됩니다. 이 튜토리얼은 Python Matplotlib에서 컬러 맵을 반전하는 다양한 방법을 설명합니다.

Matplotlib Python의 컬러 맵

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(9)
y = [9, 2, 8, 4, 5, 7, 6, 8, 7]

plt.scatter(x, y, c=y, cmap="viridis")
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Scatter Plot with Virdis colormap")
plt.colorbar()
plt.show()

출력:

Matplotlib Python의 컬러 맵

y 값이viridis 컬러 맵에 매핑되는 산점도를 생성합니다. 즉, y 값이 낮은 점은 진한 파란색, y 값이 높은 점은 노란색, 중간 점은 ‘파란색’과 ‘녹색’색상을 갖습니다.

또한 그림의 오른쪽에있는 색상 막대를 볼 수 있는데, 이는 서로 다른 y 값에 대한 색상 매핑을 보여줍니다.

Matplotlib Python에서_r로 컬러 맵 반전

Matplotlib에서 컬러 맵 이름 끝에_r을 추가하여 컬러 맵을 반전 할 수 있습니다. 예: cmap='viridis_r'는 단순히viridis 컬러 맵을 반전시킵니다.

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(9)
y = [9, 2, 8, 4, 5, 7, 6, 8, 7]

plt.scatter(x, y, c=y, cmap="viridis_r")
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Scatter Plot with Inverse Virdis colormap")
plt.colorbar()
plt.show()

출력:

끝에 _r을 추가하여 Matplotlib Python에서 리버스 컬러 맵

y 값이 반전 된 viridis컬러 맵에 매핑되는 산점도를 생성합니다. 따라서 그림에서 값이 높은 점은 진한 파란색이되고 값이 낮은 점은 노란색이됩니다.

또한 오른쪽의 색상 막대가이 예에서 색상을 반전 시켰음을 알 수 있습니다.

matplotlib.colors.Colormap.reversed()를 사용하여 Matplotlib Python에서 컬러 맵 반전

파이썬에서 컬러 맵을 반전하는 또 다른 방법은matplotlib.colors.Colormap.reversed()메서드를 사용하여 반전 된 컬러 맵을 만드는 것입니다.

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm

x = np.arange(9)
y = [9, 2, 8, 4, 5, 7, 6, 8, 7]

initial_cmap = cm.get_cmap("viridis")
reversed_cmap = initial_cmap.reversed()

plt.scatter(x, y, c=y, cmap=reversed_cmap)
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Scatter Plot with Inverse Virdis colormap")
plt.colorbar()
plt.show()

출력:

반전 된 방법을 사용하여 Matplotlib Python에서 리버스 컬러 맵

또한 y 값이 반전 된 viridis컬러 맵에 매핑되는 산점도를 생성합니다. reversed()메서드는 메서드가 적용된 컬러 맵 객체를 반전합니다.

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.colors import ListedColormap

x = np.arange(9)
y = [9, 2, 8, 4, 5, 7, 6, 8, 7]

initial_cmap = cm.get_cmap("viridis")
reversed_cmap = ListedColormap(initial_cmap.colors[::-1])

plt.scatter(x, y, c=y, cmap=reversed_cmap)
plt.xlabel("X")
plt.ylabel("Y")
plt.title("Scatter Plot with Inverse Virdis colormap")
plt.colorbar()
plt.show()

출력:

색상 목록을 반전하여 Matplotlib Python에서 컬러 맵 반전

또한 y 값이 반전 된 viridis컬러 맵에 매핑되는 산점도를 생성합니다. 모든 컬러 맵은 색상 목록 일뿐입니다. cmap.colors를 사용하여 컬러 맵cmap의 색상 목록에 액세스 할 수 있습니다. 그런 다음 목록을 반전하고 마지막으로matplotlib.colors 패키지의ListedColormap()함수를 사용하여 반전 된 목록을 다시 색상 맵으로 변환합니다.

작가: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn