在Windows 8系统上使用RStudio会出现以下错误消息:
Error in savePlot(filename = "123", type = c("png"), device = dev.cur()) :
can only copy from 'windows' devices
如果我在savePlot之前的行中写入windows()
,则错误消息消失,但图表为“空”。
如果我使用R而不是RStudio,则问题不存在。
除了“不使用RStudio”之外还有其他解决方案吗? 最好的问候
编辑: 以下是更多原始代码:
#--------------create plot
x <- df$Year
y <- df$Index1970
par(family="serif", font=1, cex=1)
xrange <- range(x, na.rm=TRUE)
yrange <- range(y, na.rm=TRUE)
plot(xrange, yrange, type="n", xlab="Year",
ylab="Price index, 1970=100" )
lines(x, y, col="black", lwd=3)
title("Belgium Property Prices from 1970-2013")
grid(nx = NULL, ny = NULL, col = "lightgray", lty = "dotted",
lwd = par("lwd"), equilogs = TRUE)
savePlot(filename="D:/...RPlots/Belgium_Prices_from_1970-2013",
type=c("wmf"),
device=dev.cur(), #type=c("wmf", "png", "jpeg", "jpg", "bmp", "ps", "pdf")
restoreConsole = TRUE)
我在哪里以及如何使用png和win.metafile函数? 它适用于R,但不适用于RStudio ......
答案 0 :(得分:5)
您可以使用png
功能。例如:
png(filename = "testPlot.png", width = 480, height = 480)
plot(1:10, type = 'l')
dev.off()
在filename
中,您应该定义绘图的路径。
答案 1 :(得分:0)
当我使用RStudio时,我的第一个绘图具有“ RStudio”类型而不是“ windows”类型。下一个地块具有正确的“窗口”类型。 所以我在我的第一个“保存图”之前调用了这个函数(见下文),它的工作原理是...
#
# Initialise les fenêtres pour RStudio
# La première fenêtre créée n'est pas toujours du type "windows", il faut en recréer une
#
init_fenetres <- function()
{
dev.new()
numFenetre = dev.cur()
mx = as.matrix(dev.cur())
if (rownames(mx)[1] != "windows") {
dev.new()
numFenetre = dev.cur()
}
dev.off( numFenetre )
}