如何将 R 中的绘图保存在工作目录的子目录中
How to save a plot in R in a subdirectory of the working directory
是否可以将 R 中的绘图保存到当前工作目录的子目录中?我尝试了以下方法,但这不起作用。我不确定如何将工作目录连接到我想要的文件名。
wd <- getwd()
png(filename=wd+"/img/name.png")
counts <- table(dnom$Variant, dnom$Time)
barplot(counts, main="Distribution of Variant and words of time",
xlab="Temporal nouns", col=c("paleturquoise3", "palegreen3"),
legend = rownames(counts))
另外,图片导出功能的默认保存目录是什么?
当运行下面大卫的建议时,返回的错误是:
Error in png(filename = paste0(wd, "/img/name.png")) :
unable to start png() device
In addition: Warning messages:
1: In png(filename = paste0(wd, "/img/name.png")) :
unable to open file 'D:/Dropbox/Corpuslinguïstiek project/antconc resultaten/img/name.png' for writing
2: In png(filename = paste0(wd, "/img/name.png")) : opening device failed
这会起作用:
png(filename="new/name.png") #will work if "new" folder is already in your working directory
data(mtcars)
plot(mtcars$wt, mtcars$mpg, main="Scatterplot Example", xlab="Car Weight ", ylab="Miles Per Gallon ", pch=19)
dev.off()
如果您的工作目录中还没有 "new" 文件夹,您可以使用 G. Grothendieck 的回答中提到的 dir.create()
创建相同的文件夹。
此外,dev.off()
是必需的,因为它会关闭指定的(默认为当前的)设备。没有它,您将无法查看创建的图像。
试试这个:
File <- "./img/name.png"
if (file.exists(File)) stop(File, " already exists")
dir.create(dirname(File), showWarnings = FALSE)
png(File)
# ... whatever ...
dev.off()
如果可以覆盖文件,则省略 if
语句。
如果 img
存在,则可以选择省略 dir.create
。 (如果您尝试创建一个已经存在的目录,则不会造成问题。)
备注
1) 另一种可能性是将 img
放在主目录中。我们可以使用 png("~/img/name.png")
将文件保存到主目录中的 img
目录。如果不确定哪个目录是主目录,请尝试 path.expand("~")
.
2) 还要注意在绘图命令之后(而不是之前)给出的 savePlot
命令。
是否可以将 R 中的绘图保存到当前工作目录的子目录中?我尝试了以下方法,但这不起作用。我不确定如何将工作目录连接到我想要的文件名。
wd <- getwd()
png(filename=wd+"/img/name.png")
counts <- table(dnom$Variant, dnom$Time)
barplot(counts, main="Distribution of Variant and words of time",
xlab="Temporal nouns", col=c("paleturquoise3", "palegreen3"),
legend = rownames(counts))
另外,图片导出功能的默认保存目录是什么?
当运行下面大卫的建议时,返回的错误是:
Error in png(filename = paste0(wd, "/img/name.png")) :
unable to start png() device
In addition: Warning messages:
1: In png(filename = paste0(wd, "/img/name.png")) :
unable to open file 'D:/Dropbox/Corpuslinguïstiek project/antconc resultaten/img/name.png' for writing
2: In png(filename = paste0(wd, "/img/name.png")) : opening device failed
这会起作用:
png(filename="new/name.png") #will work if "new" folder is already in your working directory
data(mtcars)
plot(mtcars$wt, mtcars$mpg, main="Scatterplot Example", xlab="Car Weight ", ylab="Miles Per Gallon ", pch=19)
dev.off()
如果您的工作目录中还没有 "new" 文件夹,您可以使用 G. Grothendieck 的回答中提到的 dir.create()
创建相同的文件夹。
此外,dev.off()
是必需的,因为它会关闭指定的(默认为当前的)设备。没有它,您将无法查看创建的图像。
试试这个:
File <- "./img/name.png"
if (file.exists(File)) stop(File, " already exists")
dir.create(dirname(File), showWarnings = FALSE)
png(File)
# ... whatever ...
dev.off()
如果可以覆盖文件,则省略 if
语句。
如果 img
存在,则可以选择省略 dir.create
。 (如果您尝试创建一个已经存在的目录,则不会造成问题。)
备注
1) 另一种可能性是将 img
放在主目录中。我们可以使用 png("~/img/name.png")
将文件保存到主目录中的 img
目录。如果不确定哪个目录是主目录,请尝试 path.expand("~")
.
2) 还要注意在绘图命令之后(而不是之前)给出的 savePlot
命令。