2016-05-27 5 views
-2

I 2つの変数を有する:ステージの NUMBER(S):1及び30 真陽性率(TPR)間:常に0.8〜1 と偽陽性率(FPR):0と1これらの点を正しくプロットする方法は?

間を私はTPRとFPRを取得します(TPR^S)と(FPR^S)を閉じ、グラフをプロットしてから他の値を取得し、同じ図にプロットして比較します。

numstages=12; 
TPR=0.995; 
FPR=0.5; 

for i=1:numstages 
    TPRstage(i)=(TPR^i); 
    FPRstage(i)=(FPR^i); 
end 


TPRstage=fliplr(TPRstage); 
FPRstage=fliplr(FPRstage); 


figure; 
plot(FPRstage,TPRstage,'-'); 

enter image description here

figure; 

plot(FPRstage, TPRstage, '+r'); % plot the original points 
n = numel(FPRstage); % number of original points 
xi = interp1(1:n, FPRstage, linspace(1, n, 10*n)); % new sample points 
yi = interp1( FPRstage, TPRstage, xi); 
hold all; 
plot(xi, yi); % should be smooth between the original points 

enter image description here

あなたが画像に表示されているように、これは、同じTPRの値とFPRの3のプロットである:0.2、0.3、0.5。 X軸とY軸が[0,1]の間になるようにします。 FPRが0.3または0.2の場合、その行がXの1に水平になり、(0、0)から開始するようにします。これと Similair: enter image description here

X軸0.8と1

答えて

1

間のグラフの変化を見るために0と0.8より小さいunalfの大き。私は配列xiの末尾に0を先頭に付けて、1を追加しました。

xi=[0 xi 1]; 

y軸の場合。プロットはy軸の0.94から始まります。そこで、0.93を先頭に付けて、をyiの末尾に追加しました。

yi=[0.93 yi 1]; 

はその後00.93のラベルを変更しました。

set(gca,'YTick',[0.93 0.94 0.95 0.96 0.97 0.98 0.99 1]); 
set(gca,'YTickLabel',{'0','0.94','0.95','0.96','0.97','0.98','0.99','1'}); 

ここに更新コードがあります。

figure 
for index=1:3 
FPRarray=[0.2 0.3 0.5]; 

numstages=12; 
TPR=0.995; 
FPR=FPRarray(index); 

for i=1:numstages 
    TPRstage(i)=(TPR^i); 
    FPRstage(i)=(FPR^i); 
end 


TPRstage=fliplr(TPRstage); 
FPRstage=fliplr(FPRstage); 

n = numel(FPRstage); % number of original points 
xi = interp1(1:n, FPRstage, linspace(1, n, 10*n)); % new sample points 
yi = interp1( FPRstage, TPRstage, xi); 
hold all; 

xi=[0 xi 1]; 
yi=[0.93 yi max(yi)]; 
plot(xi, yi); % should be smooth between the original points 
set(gca,'YTick',[0.93 0.94 0.95 0.96 0.97 0.98 0.99 1]); 
set(gca,'YTickLabel',{'0','0.94','0.95','0.96','0.97','0.98','0.99','1'}); 
end 
+0

小さいものは表示されません。 @Rijul Sudhir – matlab22

+0

これは 'TPRstage'と' FPRstage'の値が原因です。値に意味がない場合、それを '0'と' 1'に正規化することができます。 –

+0

軸の上に線を表示するあなたの変更とそれを理解できません@Rijul Sudhir – matlab22

関連する問題