【问题标题】:How to plot these points in shape correctly?如何正确绘制这些点的形状?
【发布时间】:2023-03-04 03:12:01
【问题描述】:

我有 2 个变量: 阶段数 (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,'-');

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

正如您在图片中看到的,这是 TPR 和 FPR 的 3 值相同的图: 0.2 , 0.3 , 0.5 。 我希望 X 和 Y 轴在 [0,1] 之间。 当 FPR 为 0.3 或 0.2 时,它会停在那里,我希望线水平到达 X 的 1,并从 (0 , 0) 开始。 与此类似:

并且尺寸在0到0.8之间的unalf更小,看图在0.8到1之间的变化。

【问题讨论】:

    标签: matlab image-processing plot graph


    【解决方案1】:

    对于 x 轴。我已将 0 附加到开头,将 1 附加到数组 xi 的末尾。

    xi=[0 xi 1];
    

    对于 y 轴。该图从 y 轴上的 0.94 开始。所以我在开头添加了0.93,在yi的末尾添加了1。

    yi=[0.93 yi 1];
    

    然后将0.93的标签改为0。

    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
    

    【讨论】:

    • 我看不到它们很小的任何东西。 @Rijul Sudhir
    • 这是因为TPRstage 和FPRstage 中的值。如果值没有意义,那么您可以将其规范化为 0 和 1。
    • 无法理解,您的修改显示轴顶部的线条@Rijul Sudhir
    • 只有形状重要吗?你不在乎真正的价值观?
    • 我关心他们两个,我想最小化 0 到 0.8 之间的 y 轴,以便更好地看到其余的 [0.8 1]。
    猜你喜欢
    • 1970-01-01
    • 2019-12-17
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 1970-01-01
    • 2019-07-12
    • 2015-11-06
    • 1970-01-01
    相关资源
    最近更新 更多