ROC图坐标轴范围超限问题:如何限制轴范围为0-100?
解决ROC曲线坐标轴范围不生效的问题
你错误地将plot.window()作为roc()函数的参数传入,这不符合pROC包的参数规范,导致坐标轴范围设置未生效。以下是两种正确的调整方法:
方法一:直接在roc()函数中指定坐标轴范围
把xlim和ylim直接作为参数传入roc()函数,替代原有的plot.window()嵌套写法:
roc(rdb$Engramcell, rdb$ActivityScore, plot=TRUE, legacy.axes=TRUE, percent=TRUE, xlim=c(100, 0), ylim=c(0, 100), xlab="False Positive Percentage", ylab="True Positive Percentage", col="firebrick4", lwd=1, print.auc=TRUE)
方法二:先创建ROC对象,再单独绘图控制坐标轴
如果需要更灵活的绘图配置,可以先生成ROC对象,再调用plot()函数时指定坐标轴范围:
# 生成ROC分析对象 roc_obj <- roc(rdb$Engramcell, rdb$ActivityScore, legacy.axes=TRUE, percent=TRUE) # 绘制ROC曲线并限制坐标轴 plot(roc_obj, xlim=c(100, 0), ylim=c(0, 100), xlab="False Positive Percentage", ylab="True Positive Percentage", col="firebrick4", lwd=1, print.auc=TRUE)
由于你启用了legacy.axes=TRUE和percent=TRUE,X轴采用从100到0的反向刻度(对应假阳性率百分比),Y轴为0到100的正向刻度(对应真阳性率百分比),上述两种方法都能严格将坐标轴锁定在0-100区间,避免曲线超出范围。
内容的提问来源于stack exchange,提问作者Angus Campbell
相关产品推荐
相关产品推荐

