본문 바로가기
파이썬

파이썬 matplotlib imshow-기본 색상 정규화

by º기록 2020. 12. 21.
반응형

imshow 를 사용할 때 색상 맵에 지속적으로 문제가 있었는데 일부 색상이 그냥 검은 색으로 변했습니다. 나는 마침내 imshow 가 기본적으로 내가 제공하는 부동 소수점 값의 행렬을 정규화하는 것처럼 보인다는 것을 깨달았습니다.

[[0,0.25], [0.5,0.75]] 와 같은 배열이 해당 절대 값에 해당하는지도에서 적절한 색상을 표시 할 것으로 예상했지만 0.75는 1. 극단적 인 경우, 0.2의 N x N 배열 (예 : 예)은 0.2가 색상 맵 (아마 20 % 회색)에 대응할 것으로 예상하는 것보다 하나의 큰 검은 정사각형을 생성합니다.

이 동작을 방지 할 수있는 방법이 있습니까? 사용자 정의 색상 맵에 많은 불연속성이있을 때 특히 성가 시며, 작은 크기 변경으로 모든 색상이 완전히 변경 될 수 있습니다.

 

해결 방법

 

vmin = 0, vmax = 1 만 지정하면됩니다.

기본적으로 imshow 는 데이터를 최소 및 최대로 정규화합니다. vmin vmax 인수 또는 norm 인수 (비선형 확장을 원하는 경우)를 사용하여이를 제어 할 수 있습니다.

간단한 예로서 :

import matplotlib.pyplot as plt

data = [[0, 0.25], [0.5, 0.75]]

fig, ax = plt.subplots()
im = ax.imshow(data, cmap=plt.get_cmap('hot'), interpolation='nearest',
               vmin=0, vmax=1)
fig.colorbar(im)
plt.show()

여기에 이미지 설명 입력

 

참조 페이지 https://stackoverflow.com/questions/22121239

 

 

반응형

댓글