为什么我看不到带有 for 循环的多个图?
Why am I unable to see multiple plots appear with a for loop?
这是我的代码,是更大脚本的一部分。
for(d1 in names(survD)){
survfit1 <- survfit(Surv(time=survD[[d1]][,"time"],
event=survD[[d1]][,"death"],type='right')~1)
png(paste(survPath,"/surv_",d1,".png",sep=""))
plot(survfit1,xlab="Years",ylab="Survival probability",xmax=xmax1)
}
我还不太清楚这段代码的作用,所以我试图查看每个单独的图以了解它是什么。问题是,每当我在 linux 的终端的 R 命令行中 运行 this 时,什么都没有出现。我必须多次使用 dev.off() 然后重新 运行 此代码:
plot(survfit1)
为了某些东西出现。我怎样才能看到所有的地块?
听起来这就是你想要的:
for(d1 in names(survD)){
survfit1 <- survfit(Surv(time=survD[[d1]][,"time"],
event=survD[[d1]][,"death"],type='right')~1)
x11() ## open up new graphical window for each plot (to avoid overwriting)
plot(survfit1,xlab="Years",ylab="Survival probability",
xmax=xmax1, main = d1) ## use different titles to distinguish those plots
}
这将在正常图形上生成图 windows。
如果你想使用原代码,你最好这样做:
for(d1 in names(survD)){
survfit1 <- survfit(Surv(time=survD[[d1]][,"time"],
event=survD[[d1]][,"death"],type='right')~1)
png(paste(survPath,"/surv_",d1,".png",sep=""))
plot(survfit1,xlab="Years",ylab="Survival probability",xmax=xmax1)
dev.off()
}
然后,看看getwd()
给出的目录。所有绘图都保存在 png
个文件中。
调用 Sys.sleep(.1) 可能会在 for 循环期间有所帮助。也许试试:
for(d1 in names(survD)){
survfit1 <- survfit(Surv(time=survD[[d1]][,"time"],
event=survD[[d1]][,"death"],type='right')~1)
Sys.sleep(.1)
png(paste(survPath,"/surv_",d1,".png",sep="", collapse="))
plot(survfit1,xlab="Years",ylab="Survival probability",xmax=xmax1)
dev.off()
}
这是我的代码,是更大脚本的一部分。
for(d1 in names(survD)){
survfit1 <- survfit(Surv(time=survD[[d1]][,"time"],
event=survD[[d1]][,"death"],type='right')~1)
png(paste(survPath,"/surv_",d1,".png",sep=""))
plot(survfit1,xlab="Years",ylab="Survival probability",xmax=xmax1)
}
我还不太清楚这段代码的作用,所以我试图查看每个单独的图以了解它是什么。问题是,每当我在 linux 的终端的 R 命令行中 运行 this 时,什么都没有出现。我必须多次使用 dev.off() 然后重新 运行 此代码:
plot(survfit1)
为了某些东西出现。我怎样才能看到所有的地块?
听起来这就是你想要的:
for(d1 in names(survD)){
survfit1 <- survfit(Surv(time=survD[[d1]][,"time"],
event=survD[[d1]][,"death"],type='right')~1)
x11() ## open up new graphical window for each plot (to avoid overwriting)
plot(survfit1,xlab="Years",ylab="Survival probability",
xmax=xmax1, main = d1) ## use different titles to distinguish those plots
}
这将在正常图形上生成图 windows。
如果你想使用原代码,你最好这样做:
for(d1 in names(survD)){
survfit1 <- survfit(Surv(time=survD[[d1]][,"time"],
event=survD[[d1]][,"death"],type='right')~1)
png(paste(survPath,"/surv_",d1,".png",sep=""))
plot(survfit1,xlab="Years",ylab="Survival probability",xmax=xmax1)
dev.off()
}
然后,看看getwd()
给出的目录。所有绘图都保存在 png
个文件中。
调用 Sys.sleep(.1) 可能会在 for 循环期间有所帮助。也许试试:
for(d1 in names(survD)){
survfit1 <- survfit(Surv(time=survD[[d1]][,"time"],
event=survD[[d1]][,"death"],type='right')~1)
Sys.sleep(.1)
png(paste(survPath,"/surv_",d1,".png",sep="", collapse="))
plot(survfit1,xlab="Years",ylab="Survival probability",xmax=xmax1)
dev.off()
}