Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

동일한 imshow Matplotlib에서 두 개의 다른 색상 맵을 표시하는 방법은 무엇입니까?

<시간/>

동일한 imshow matplotlib에서 두 개의 서로 다른 색상의 컬러맵을 표시하려면 다음 단계를 수행할 수 있습니다. -

  • Figure 크기를 설정하고 서브플롯 사이와 주변의 패딩을 조정합니다.

  • 5×5 차원의 2D 행렬을 만듭니다.

  • 마스킹된 행렬, data1 가져오기 및 데이터2 , 양수 및 음수 값이 있습니다.

  • Figure와 서브플롯 세트를 생성합니다.

  • 데이터를 data1을 사용하여 2D 일반 래스터와 같은 이미지로 표시합니다. 및 데이터2 .

  • 두 가지 다른 색상을 만들려면 , 컬러바 사용 방법.

  • 두 이미지 모두에 대해 컬러바를 설정합니다.

  • 컬러바의 레이블을 설정합니다.

  • 그림을 표시하려면 show()를 사용하세요. 방법.

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

img = np.random.randint(-10, 10, (5, 5))

data1 = np.ma.masked_array(img, img >= 0)
data2 = np.ma.masked_array(img, img < 0)

fig, ax = plt.subplots()

img1 = ax.imshow(data1, cmap="prism_r")
img2 = ax.imshow(data2, cmap="copper")

bar1 = plt.colorbar(img1)
bar2 = plt.colorbar(img2)

bar1.set_label('ColorBar 1')
bar2.set_label('ColorBar 2')

plt.show()

출력

동일한 imshow Matplotlib에서 두 개의 다른 색상 맵을 표시하는 방법은 무엇입니까?