我需要打印单倍型网络以高质量打印。但是,为了按照我想要的方式获取绘图,我需要使用交互式功能更改一些内容。当我使用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中使用导出按钮,因为它生成的图表质量很低。
答案 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()