par(mfrow=c(1,3)) plot(roc.full,ylim = c(-1,2),yaxs = "i",,main="FULL") plot(roc.aic,ylim = c(-1,2),yaxs = "i",main="AIC") plot(roc.bic,ylim = c(-1,2),yaxs = "i",main="BIC")显示出来的y的上下限没有变
时间: 2023-09-15 12:18:39 浏览: 67
如果你设置了 `ylim = c(-1,2)` 参数,但是 y 轴的上下限没有改变,可能是因为你的数据范围比较大,而此时 y 轴的上下限被压缩在了数据范围内,导致看起来像是没有改变。
你可以尝试使用 `expand = c(0, 0)` 参数来设置 y 轴的上下限,这个参数可以控制 y 轴的上下限扩展的比例。默认值是 `expand = c(0.05, 0)`,表示 y 轴的上下限分别扩展 5% 的范围。如果将其设为 `expand = c(0, 0)`,则 y 轴的上下限将完全按照 `ylim` 参数来设置。
例如,你可以将代码修改为如下形式:
```R
par(mfrow=c(1,3))
plot(roc.full, ylim = c(-1, 2), yaxs = "i", expand = c(0, 0), main = "FULL")
plot(roc.aic, ylim = c(-1, 2), yaxs = "i", expand = c(0, 0), main = "AIC")
plot(roc.bic, ylim = c(-1, 2), yaxs = "i", expand = c(0, 0), main = "BIC")
```
这样就可以确保 y 轴的上下限完全按照 `ylim` 参数来设置,而不会被压缩在数据范围内。
相关问题
par(mfrow=c(1,3)) plot(roc.full,main="FULL") plot(roc.aic,main="AIC") plot(roc.bic,,main="BIC")如何使图片显示的y轴在-1到2之间?
如果你想要将 y 轴范围限制在 -1 到 2 之间,可以使用 `ylim` 参数来实现。这个参数接受一个长度为 2 的向量,分别表示 y 轴的下限和上限。在你的代码中,可以将 `plot` 函数的参数修改如下:
```R
par(mfrow=c(1,3))
plot(roc.full, ylim = c(-1, 2), main = "FULL")
plot(roc.aic, ylim = c(-1, 2), main = "AIC")
plot(roc.bic, ylim = c(-1, 2), main = "BIC")
```
这样就可以将 y 轴范围限制在 -1 到 2 之间。注意,在使用 `ylim` 参数时,需要保证 y 轴范围的上下限能够包含所有的数据点,否则数据点可能会被截断或者压缩。
plotJL <- function(city="JL") { x_label <- seq(from=as.Date("2022/2/25"),to=as.Date("2022/5/25"),by=7) pfile=paste0("Fig_",city,".png") png(pfile,width = 500*6,height = 500*4) par( mfrow=c(2,2),mar=c(5,5,5,1)*3 ) plot(df.pred$date,df.pred$dI,pch='x',xaxt='n', xlab="Date",ylab="Daily Confirmed" ,cex.lab=3,cex.axis = 2, cex=3) axis(1,x_label,format(x_label,"%m-%d"),las=1,cex.axis=2) title(main = "A",cex.main=3) predlines <- c(1:10) plty <- c(2:11) pcol <- c(2:11) matlines(df.mean$date,df.mean[,3+predlines], lty=1,col=1,lwd = 3) matlines(df.pred$date,df.pred[,3+predlines], lty=plty,col=pcol,lwd = 2) abline(v=df.mean$date[c(18,27)],lty=2) legend("topright",paste("Predicted on",df.pred$date[(18:50)][predlines]), lty=plty,col=pcol,cex = 3,lwd=2 ) plot(df.pred$date,df.pred$dI,pch='x',xaxt='n', xlab="Date",ylab="Daily Confirmed" ,cex.lab=3,cex.axis = 2, cex=3) axis(1,x_label,format(x_label,"%m-%d"),cex.axis=2) title(main = "B",cex.main=3) predlines <- c(11:18) plty <- c(2:9) pcol <- c(2:9) matlines(df.mean$date,df.mean[,3+predlines], lty=1,col=1,lwd = 3) matlines(df.pred$date,df.pred[,3+predlines], lty=plty,col=pcol,lwd = 2) abline(v=df.mean$date[c(28,35)],lty=2) legend("topright",paste("Predicted on",df.pred$date[(18:50)][predlines]), lty=plty,col=pcol,cex = 3,lwd=2 ) plot(df.pred$date,df.pred$dI,pch='x',xaxt='n', xlab="Date",ylab="Daily Confirmed" ,cex.lab=3,cex.axis = 2, cex=3) axis(1,x_label,format(x_label,"%m-%d"),cex.axis=2) title(main = "C",cex.main=3) predlines <- c(19:26) plty <- c(2:9) pcol <- c(2:9) matlines(df.mean$date,df.mean[,3+predlines], lty=1,col=1,lwd = 3) matlines(df.pred$date,df.pred[,3+predlines], lty=plty,col=pcol,lwd = 2) abline(v=df.mean$date[c(36,43)],lty=2) legend("topright",paste("Predicted on",df.pred$date[(18:50)][predlines]), lty=plty,col=pcol,cex = 3,lwd=2 ) plot(df.pred$date,df.pred$dI,pch='x',xaxt='n', xlab="Date",ylab="Daily Confirmed" ,cex.lab=3,cex.axis = 2, cex=3) axis(1,x_label,format(x_label,"%m-%d"),cex.axis=2) title(main = "D",cex.main=3) predlines <- c(27:33) plty <- c(2:8) pcol <- c(2:8) matlines(df.mean$date,df.mean[,3+predlines], lty=1,col=1,lwd = 3) matlines(df.pred$date,df.pred[,3+predlines], lty=plty,col=pcol,lwd = 2) abline(v=df.mean$date[c(44,50)],lty=2) legend("topright",paste("Predicted on",df.pred$date[(18:50)][predlines]), lty=plty,col=pcol,cex = 3,lwd=2 ) dev.off() }
这段代码是用于绘制四个子图的函数,每个子图都是基于来自数据框 df.pred 和 df.mean 的数据绘制的。每个子图都有一个标题(A,B,C,D),并且包含了预测线和实际线。其中预测线是基于预测数据绘制的,实际线是基于实际数据绘制的。每个子图的预测线都有一个图例,用于说明预测线是基于哪个日期的数据绘制的。这些图形将被保存在文件名为 "Fig_JL.png" 的 PNG 文件中。
阅读全文