복붙노트

[PYTHON] matplotlib 색상 맵에서 특정 값의 색상을 재정의하는 방법

PYTHON

matplotlib 색상 맵에서 특정 값의 색상을 재정의하는 방법

imshow를 사용하여 이미지에서 colormap 무지개를 사용하고 싶습니다. 완벽하게 작동하지만 값 0의 색상을 재정의하고 싶습니다. violete 대신 흰색을 사용하고 싶습니다.

값 0에만이 작업을 수행하고 다른 모든 값은 색상 맵의 기본값을 유지할 수 있습니다.

색상 맵을 수동으로 편집 할 필요없이이 작업을 수행하는 방법에 대한 아이디어가 있습니까?

해결법

  1. ==============================

    1.set_under를 사용하는 것보다 의미 론적으로 생각하는 set_under를 사용할 수도 있습니다.

    set_under를 사용하는 것보다 의미 론적으로 생각하는 set_under를 사용할 수도 있습니다.

    my_cmap = matplotlib.cm.get_cmap('rainbow')
    my_cmap.set_under('w')
    imshow(np.arange(25).reshape(5, 5),
           interpolation='none',
           cmap=my_cmap,
           vmin=.001)
    

    colorbar를 조정하여 kwarg extend (예제 및 문서 참조)를 사용하여 'under'(및 대칭 'over') 색상을 표시 할 수도 있습니다.

    보다 완벽한 예제를 가진 복제본에 대한 답변을 보려면 특정 값을 처리하는 matplotlib 색상 맵을 만드는 방법을 참조하십시오.

  2. from https://stackoverflow.com/questions/16400241/how-to-redefine-a-color-for-a-specific-value-in-a-matplotlib-colormap by cc-by-sa and MIT license