컬러맵 및 컬러바 응용 프로그램

一,컬러맵

일반적인 채도 열거 값은 다음과 같습니다

신청방법은 다음과 같습니다

img = cv2.applyColorMap(img, cv2.COLORMAP_JET)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

일반적으로 사용되는 COLORMAP_JET 효과는 다음과 같으며, 이 모드는 히트맵 생성에 자주 사용됩니다.

두 번째, 컬러바

모든 컬러바 색상 밴드는 다음과 같습니다.

신청방법은 다음과 같습니다

cmap = 'nipy_spectral'
plt.imshow(mask,cmap=plt.get_cmap(cmap))
plt.colorbar()
plt.show()

확장: Gridspec.GridSpec을 기반으로 여러 하위 그래프를 생성합니다.

프로젝트 작업 시, 여러 하위 그래프를 생성하려면 Gridspec.GridSpec이 필요하며, 여기에는 별도로 생성된 히트맵과 컬러바도 포함됩니다. 공유는 다음과 같습니다. 프로젝트의 개인정보 보호를 위해 일부 정보가 숨겨졌습니다. 다음을 사용할 수 있습니다. 작성할 때 주석을 달고 코드를 조정하세요.

    fig = plt.figure()
    gs = gridspec.GridSpec(2, 3, width_ratios=[1, 1, 0.05], height_ratios=[1, 1], figure = fig, 
    wspace = 0.03, hspace = 0.03, left = 0.5, right = 1, bottom = 0.35, top = 1)  
    # 创建三子图,第三个子图用于存放色带, 设置两行是为了调整色带高度,不然色带高度和前面不一致, 从wspace到top都是调整子图位置
    ax1 = fig.add_subplot(gs[0])
    ax2 = fig.add_subplot(gs[1])
    cax = fig.add_subplot(gs[2])  # colorbar 绘图区
    font = {'family':'STIXGeneral', 'weight':'bold', 'size':8}  # 字体字号设置
    den = resize(Y, X)       # resize将两张不同的多维数组改成同一size
    ax1.set_yticks([0, 100, 200, 300, 400, 500, 600])
    ax1.tick_params(labelsize=4, labelrotation=45, pad = 0, length = 1.5)  # 同时设置x和y轴刻度字体大小并改变字体方向, pad调整坐标与坐标轴之间距离,length控制坐标长度
    # ax1.set_ylabel('highth', font)   # 设置坐标标题
    ax1.set_xticks([0, 100, 200, 300, 400, 500, 600]) # 将x轴放在顶部
    ax1.xaxis.set_label_position('top')  
    ax1.xaxis.tick_top()
    # ax1.set_xlabel('width', font)
    ax1.set_title('str', font, pad=3, y = -0.1)  # pad 控制 title到图之间的距离, y默认为1,标题在顶部,设置y数值控制标题位置
    ax1.get_title()
    ax1.imshow(X)
    
    ax2.axes.get_yaxis().set_visible(False)  # 不需要显示子图y轴的方式
    # ax2.set_yticks([0, 100, 200, 300, 400, 500, 600])
    ax2c = ax2.matshow(Y)  # 映射第三子图色条用
    ax2.tick_params(labelsize=4, labelrotation=45, pad = 0, length = 1.5)  # 同时设置x和y轴刻度字体大小并改变字体方向, pad调整坐标与坐标轴之间距离,length控制坐标长度
    # ax2.set_ylabel('highth', font)
    ax2.set_xticks([0, 100, 200, 300, 400, 500, 600])
    ax2.xaxis.set_label_position('top')
    ax2.xaxis.tick_top()
    # ax2.set_xlabel('width', font)
    ax2.set_title('str', font, pad = 3, y = -0.1)
    ax2.text(1, 80, 'str', fontsize=4, weight="bold", color = 'w')
    ax2.imshow(Y, cmap = 'nipy_spectral')
    
    plt.colorbar(ax2c, pad = 0.06, fraction=0.035, cax=cax)  # 在第三子图添加colorbar
    cax.tick_params(labelsize=4, labelrotation=45, pad = 0, length = 1.5)
    cax.set_ylabel('str', font, labelpad=0)   # labelpad到坐标轴的距离
    cax.yaxis.set_label_position('right')
	    filename = img_path.split('/')[-1]
    filename = filename.replace('.jpg', 'xxx.png')
    print('Save at', filename)
    plt.savefig('./path to save/{}'.format(filename), bbox_inches='tight', pad_inches=0.05, dpi=300)  # pad_inches为保存图像周边距离

 최종 하위 사진은 아래와 같습니다. 일부 주요 정보가 숨겨져 있습니다. 양해해 주시기 바랍니다.

추천

출처blog.csdn.net/m0_73832962/article/details/134416158