2016-06-02 3 views
0

보통 colorbar을 원하지만 특정 값의 색상 차이가 있습니다.matplotlib colourbar 맞춤 색상 1 값

내 데이터는 범위 (0,1)을 다루지 만 오류 범위이기 때문에 범위를 벗어나는 일부 값을 전달하려고하며 주 범위 외의 다른 색상으로보고 싶습니다.

그래서 내가 원하는 것은 (0,1) 범위의 색상 값에 -1 검정색 및 일반 색조를 지정하는 것입니다. 그게 가능하니?

답변

0

네, 그렇지만 특별한 경우를 위해 색상 맵을 다시 작성할 필요는 없습니다 (약간의 노력이 필요함). vminvmax을 사용하여 이러한 값을 유지할 수 있습니다. 데이터의 제한은 무엇이며 말하거나 초과하는 모든 값 (set_underset_over 사용)에 대한 색상을 지정할 수 있습니다.

확인 다음 예 :

import matplotlib.pyplot as plt 
import numpy as np 

x, y = np.meshgrid(np.linspace(0, 10, 100), np.linspace(0, 10, 100)) 
im = (x**2 + y**2)/100-0.5 # Creating synthetic data for your example 

p = plt.imshow(im.T, vmin=0, vmax=1, origin='lower', interpolation='nearest') # Set limits with vmin and vmax 
p.cmap.set_under('k') # Set color under lower limit (k for black) 
p.cmap.set_over('w') # Set color over upper limit (w for white) 
plt.show() 

,이 결과 :

Stating color for limits of data in matplotlib

모든 0 아래의 1 이상 모든이 흰색, 검은 색입니다.