【发布时间】:2011-12-30 12:05:17
【问题描述】:
我在 R 程序中保存了一些复杂的图形,包括 plot()、lines()、points() 和 abline() 函数调用,并尝试使用 png() 和 jpeg(),但两者都在渲染非常不一致的结果。在一次运行中,网格将保存在后台,在下一次则不会。在一次运行中,点将被添加到正确的lwd,在另一次运行中它们将是巨大的,或者可能根本不添加。在另一次运行中,将添加一行,然后在我再次运行时消失。我循环了数百次迭代,几乎每次运行都得到不同的结果。
png(paste("/someFilePlace/pics/", propIn, ".png", sep = ""))
plot(plotDat$yhat, col = "white", ylim = c(0,max(plotDat$yhat)*1.1),xaxt='n')
fairlylightgray <- rgb(204/255, 204/255, 204/255, alpha=0.4)
abline(v=(seq(0,1700,100)), col=fairlylightgray, lty="dotted")
abline(h=(seq(0,10,0.5)), col=fairlylightgray, lty="dotted")
points(plotDat$y, cex = '*', lwd = 3, col= "gray")
lines(plotDat$yhat, col = "#08519C")
axis(1, at = c(1,500,1000,1500),
labels = c(plotDat$dt[1],plotDat$dt[500],plotDat$dt[1000],plotDat$dt[1500]))
dev.off()
【问题讨论】:
-
如果您希望任何人能够真正帮助您,您需要在此处包含一些代码。
-
您是否使用 bitmap() 来保存为 png 和/或 jpg?你在使用ghostscript吗?检查这个link
-
这里是代码。结果也是打印到屏幕不一致,所以不仅仅是渲染问题:
-
代码在哪里?东西会从 cmets 中过滤出来,因此请将其编辑到您的问题中。
-
这是我们无法重现的(请参阅tinyurl.com/reproducible-000),这非常令人惊讶。 R 产生这种非确定性的结果一定是非常严重的错误……并不是说它应该表现得那么糟糕,而是你是在代码中生成伪随机数,还是你期望是每次都完全得到相同的结果?