>

이 코드와 그림에서 시작 :

clc
clear all
[x, y, z] = peaks(1000);
figure;
p = surf(x,y,z);
shading flat
cm=colormap;
Xm=-7;
XM=8;
caxis([Xm XM])
colorbar

[Xm XM] 특정 범위의 값을 강조 표시 할 수 있습니다  컬러 맵을 수정하여. 예를 들어 해당 범위의 색상을 빨간색으로 설정하면 다음과 같습니다.

[x, y, z] = peaks(1000);
figure;
p = surf(x,y,z);
shading flat
cm=colormap;
Xm=-7;
XM=8;
caxis([Xm XM])
x1=2;
x2=4;
l1=findnearest(x1,linspace(Xm,XM,length(cm)));
l2=findnearest(x2,linspace(Xm,XM,length(cm)));
cm(l1:l2,:)=repmat([1 0 0],l2-l1+1,1);
colormap(cm)
colorbar

전환을 덜 갑작스럽게 만드는 방법이 있습니까? 전환 효과 근처에서 색상을 흐리게 표시 할 수 있습니까?

수정 :

이 코드는 findnearest 기능을 사용합니다

>

  • 답변 # 1

    사이의 색상이 중요하지 않은 경우 간단한 선형 페이딩을 사용할 수 있습니다.

    n = floor((l2-l1+1)/2);
    fade = linspace(0, 1, n)';
    cm(l1+n,:) = [1 0 0];
    cm(l1:l1+n-1,:)=fade * [1 0 0] + (1-fade) * cm(l1-1, :);
    cm(l2:-1:l2-n+1,:)=fade * [1 0 0] + (1-fade) * cm(l2+1, :);
    
    

  • 이전 azure devops - 원격 PowerShell 실행을 위해 자격 증명을 명시 적으로 지정해야하는 이유
  • 다음 Java를 사용하여 유니 코드 텍스트 내용 변경