2014-02-11 3 views
2

한 데이터 세트의 등고선을 다른 데이터 세트의 채워진 윤곽선 위에 플롯하려고합니다. 개별적으로 플로팅 둘은 올바른 보이지만 나는 일반적인 방법으로 그들을 결합 할 때 플롯이 잘 보이지 않는 :contourf 플롯 상단에 등고선 오버레이

clc; clear all; close all; 

x = linspace(-2*pi,2*pi); 
y = linspace(0,4*pi); 
[X1,Y1] = meshgrid(x,y); 
Z1 = sin(X1)+cos(Y1); 

[X2,Y2] = meshgrid(x,y); 
Z2 = 1000*(sin(1.2*X2)+2*cos(Y2)); 

figure; 
contourf(X1,Y1,Z1); 
shading flat; 

figure; 
contour(X2,Y2,Z2,'k'); 

figure; 
contourf(X1,Y1,Z1); 
shading flat; 
hold on; 
contour(X2,Y2,Z2,'k'); 

enter image description here enter image description here enter image description here

답변

4

당신이를 설정 caxis를 사용할 필요가이 문제를 해결하려면 contourf 플롯에 대한 제한 : 당신은 대체 할 수

clc; clear all; close all; 

x = linspace(-2*pi,2*pi); 
y = linspace(0,4*pi); 
[X1,Y1] = meshgrid(x,y); 
Z1 = sin(X1)+cos(Y1); 

[X2,Y2] = meshgrid(x,y); 
Z2 = 1000*(sin(1.2*X2)+2*cos(Y2)); 

figure; 
contourf(X1,Y1,Z1); 
shading flat; 
caxis([min(min(Z1)) max(max(Z1))]); 
hold on; 
contour(X2,Y2,Z2,'k'); 

min(min(Z1))max(max(Z1))에 원하는 상한값과 하한값이 표시됩니다. 이것은이 플롯 결과 :

enter image description here

+0

내가 내가 내가 희망 같은 함정에서 다른 사람을 저장 게시 거라고 생각이 알아 내려고 많은 시간을 낭비. – OSE

관련 문제