仅通过一次调用R中的绘图功能将绘图另存为PNG和PDF

Ehs*_*udi 2 pdf graphics plot png r

我想同时以pdf和png格式绘制图:

pdf("test.pdf")
plot(sin, -pi, 2*pi)
dev.off()

png("test.png")
plot(sin, -pi, 2*pi)
dev.off()
Run Code Online (Sandbox Code Playgroud)

但是,我正在寻找一个技巧(最好不要通过加载新程序包),在该技巧中,plot函数仅被调用一次:

#no plot in pdf!
pdf("test1.pdf"); png("test1.png")
plot(sin, -pi, 2*pi)
dev.off(); dev.off()
Run Code Online (Sandbox Code Playgroud)

任何建议,将不胜感激。

nic*_*ola 5

您可以使用dev.copy()您的目的。例如:

pdf("test.pdf")
a<-dev.cur()
png("test.png")
dev.control("enable")
plot(sin, -pi, 2*pi)
dev.copy(which=a)
dev.off()
dev.off()
Run Code Online (Sandbox Code Playgroud)

您记下了pdf设备dev.cur,然后将图从png设备复制到该设备pdf