我是Windows用户的长期R,但导出的情节仍然令我感到困惑。我通常的工作流程是在默认的Windows设备中创建绘图,让它看起来像我想要的方式,然后将代码发送到png函数以导出它。问题是我不知道如何设置png()的宽度,高度和分辨率参数,以便结果与windows设备上的绘图完全相同。
这是一个例子。我使用绘图窗口GUI保存第一张图片,仅供比较。
options (device = windows)
dev.new(width = 7, height = 14) # units are inches
plot(1:10, 1:10, xlab = "Predictor", ylab = "Response", cex.axis = 1.2, cex.lab = 1.5)
legend("top", "Windows graphics device", bty = "n")
ppi <- 300
png(filename = "test3png.png", width = 7*ppi, height = 14*ppi,
res = ppi, type = "cairo-png") # units are pixels
plot(1:10, 1:10, xlab = "Predictor", ylab = "Response", cex.axis = 1.2, cex.lab = 1.5)
legend("top", "png device", bty = "n")
dev.off()
我觉得我必须遗漏一些显而易见的东西,但多年来我花了很多时间摆弄这个并阅读线索和博客帖子,我仍然感到困惑。我没有列出我尝试过的所有各种事情,而是希望有人可以迅速理顺我。
谢谢!
编辑:Ira建议设置png的宽度和高度args,单位为英寸。
ppi <- 300
png(filename = "test3png.png", width = 7, height = 14, units = "in", res = ppi, type = "cairo-png")
plot(1:10, 1:10, xlab = "Predictor", ylab = "Response", cex.axis = 1.2, cex.lab = 1.5)
legend("top", "png device", bty = "n")
dev.off()
这不起作用,因为更改72 ppi的默认分辨率会相对于物理尺寸更改字符和磅值。