지역에 다른 색상을 표시하려는 2d numpy 배열이 있습니다 (데이터 <0의 경우 파란색, 0 <= 데이터 <5의 경우 녹색, 데이터> 5의 경우 빨간색).
본질적으로 데이터 범위를 기반으로 한 연속 데이터에 범주 형 색상을 사용하려고합니다.
현재 저는 numexpr
expression을 사용 하여 데이터를 사용하고 (1 * (data < 0)) + (2 * (data >= 0) & (data < 5)) + (3 * (data >= 5))
있습니다. 그런 다음 인덱스 색상 배열 / dict ( {1: (0, 0, 255), 2: (0, 255, 0), 3: (255, 0, 0)}
)를 사용하여 데이터의 색상 값을 계산합니다. 나는 이것이 과잉이라고 생각합니다. 내가 찾을 수없는 커스텀 컬러 맵을 사용하는 seaborn / matplot을 사용하여이 작업을 수행하는 쉬운 방법이 있어야합니다. 모든 포인터 / 샘플 코드가 큰 도움이 될 것입니다.
사용자 정의 색상 맵을 만들고 다음과 sns.heatmap
함께 사용할 수 있습니다 vmin=-1, vmax=6
.
# random data
np.random.seed(1)
a = np.random.uniform(-2,10,(10,10))
from matplotlib import cm, colors as mcolors
# create a custome color map
cmap = mcolors.ListedColormap(['b']+['g']*5 + ['r'], name='abcd', N=7)
# plot heat map, annotation for reference
sns.heatmap(a, annot=True,xticklabels=False, yticklabels=False, cmap=cmap, vmin=-1,vmax=6)
산출:
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다