以交互方式操作绘图时,在R中打印高质量的绘图

时间:2015-05-12 01:50:24

标签: r plot interactive

我需要打印单倍型网络以高质量打印。但是,为了按照我想要的方式获取绘图,我需要使用交互式功能更改一些内容。当我使用png()打印图表时,我无法进行这些更改,因为它会打印到pdf而不是打印到绘图窗口。有没有办法改变它来打印到绘图窗口以及png?

情节的可重复的例子:

install.packages("pegas")
library(pegas)
data(woodmouse)
net <- haploNet(haplotype(woodmouse))
plot(net)
o <- replot() # interactive
## click to rearrange the network at will...
## then do a different plot using the same coordinates:
plot(net, bg = "red", labels = FALSE, show.mutation = 2)
replot(o) # not interactive

我不想在RStudio中使用导出按钮,因为它生成的图表质量很低。

1 个答案:

答案 0 :(得分:1)

您可以使用recordPlot()将当前绘图保存到变量,然后将图形设备更改为png并使用replayPlot重播保存的绘图。例如:

#same data as above
o <- plot(net, bg = "red", labels = FALSE, show.mutation = 2)
replot() # interactive - do your thing

myplot <- recordPlot()
png("recordedPlot.png")
replayPlot(myplot)
dev.off()