2012-04-27 5 views
0
clear all 
depth1 = [0;2;3;4;5;6;8;10;12;14;16;18]; 
depth2 = [0;2;3;4;5;6;7;8;9;10;11;12]; 
depth3 = [0;4;6;8;10;12;14;16;18;20;22;24]; 
Depth = {depth1,depth2,depth3}; 

data1 = [0.8,0.797,0.796,0.795,0.795,0.795,0.797,0.798,0.8,0.802,0.803,0.802]; 
data2 = [0.764,0.752,0.743,0.745,0.746,0.736,0.710,0.656,0.584,0.574,0.577,0.601]; 
data3 = [0.760,0.750,0.745,0.714,0.593,0.354,0.257,0.272,0.295,0.327,0.368,0.379]; 
Data = {data1;data2;data3}'; 

coloring = {[0 0 0],[1 0 0],[0 0 1]}'; 
marking = {'+','o','s'}; 

for i = 1:length(Depth); 
    fh = figure(1); 
    plot(Depth{i},Data{i},'color',coloring{i},'Marker',marking{i});hold on; 
    legend; 
    set(fh,'color','white'); 
    set(gca,'TickLength',[.01 .01],'TickDir','out','box','on','XMinorTick','on',... 
     'YMinorTick','on','FontName','Helvetica','FontSize', 14,... 
     'Fontweight','demi','XColor','k','YColor','k');  
end 

이 예에서는 각 깊이의 깊이가 다른 여러 깊이에서 측정 된 세 가지 변수가있는 플롯을 보여줍니다. 표시된 범위가 각각 최소 및 최대 깊이를 나타내는 0에서 1까지 다양하도록 xaxis를 변경할 수 있는지 궁금합니다. 이것이 가능한가? 내가 사용하고플롯의 x 축 범위 변경

현재의 방법은 다음과 같습니다

newDepth = cellfun(@(x)linspace(0,1,length(x)),Depth,'un',0); 

다음이 새로운 깊이 벡터에 대한 데이터를 플롯.

for i = 1:length(Depth); 
    fh = figure(1); 
    plot(newDepth{i},Data{i},'color',coloring{i},'Marker',marking{i});hold on; 
    legend; 
    set(fh,'color','white'); 
    set(gca,'TickLength',[.01 .01],'TickDir','out','box','on','XMinorTick','on',... 
     'YMinorTick','on','FontName','Helvetica','FontSize', 14,... 
     'Fontweight','demi','XColor','k','YColor','k');  
end 

더 좋은 방법이 있습니까?

답변

0

나는 당신이 틀린 방법으로 변수를 정규화하고 있다고 생각한다. cellfun(@(x)linspace(0,1,length(x)),Depth,'un',0);을 사용하는 x 축 값의 현재 정규화는 각 depth 벡터의 요소 간 관계를 축소합니다. 제가

newDepth = cellfun(@(x)(((x)-(min(x)))'./((max(x))-(min(x)))'),Depth,'un',0); 

방법이 올바른 방법이 될 것이다 생각 않은 정규화 depths의 다른 요소들 사이의 상대적 간격은 물론 정규화 된 값으로 유지된다. 이것을 사용하고 알려주십시오. newDepth = cellfun(@(x)linspace(0,1,length(x)),Depth,'un',0);을 사용하여 얻은 정규화 된 그래프가 틀렸다고 확신합니다. 사소한 잘못된 스케일링이 정규화 된 그래프에서 매우 명백하게 나타나지 않았기 때문에 당신은 그것을 깨닫지 못했습니다.

그래프를 그래프로 플로팅하는 방법은 현재로서는 문제가 없습니다. 당신이 정확히 그걸 잘못 생각한거야?

+0

위대한 작품. 모든 것이 이제 괜찮아 보인다. 당신의 도움을 주셔서 감사합니다. – Emma

관련 문제