我已经搜索过,谷歌搜索,阅读?pdf
,并找出了可以保存一个PDF格式的图形的可能性与层可以swiethed和在pdf查看器边缘关闭。我正在谈论的一个例子是USGS四地形地图,它可以下载为多层的pdf格式,如this(压缩的pdf)。如何在R中保存一个分层的pdf(通过Sweave?)
在PDF()帮助文件下一句听起来很可怕,但我也想检查我没有曲解它:
The R graphics model does not distinguish graphics objects at the level
of the driver interface.
我曾经能够保存分层PDF在Illustrator中,但不再有这个程序在我手中。也许有人可以从R内想到一个解决方法?我使用地图的数据是大的,但这里有一个玩具例子:
pdf("2objects.pdf")
plot(NULL, type = "n",xlim = c(0,1),ylim = c(0,1))
rect(0,.7,.7,0,border = "blue",lwd=2)
rect(.3,1,1,.3,border = "red",lty=2,lwd=2)
dev.off()
它看起来像这样(这是一个PNG,但上述会给一个pdf)
我会就像能够将红色和蓝色框作为可见度的图层一样,可以在PDF查看器中打开和关闭。
非常感谢!
编辑:找到thread in R-help(re:@mnel),它看起来不可能。我仍然会留下这个问题,以防有人提出了一个漂亮的R-tastic解决方案。
编辑(2012年9月5日):我尝试通过Sweave进行此操作,并使用已发布的解决方法here取得了部分成功。这种方法产生一个带有'图层'的pdf,可以使用图像下面的超链接文本打开和关闭。它使用'动画'欺骗来做到这一点。尽管它还不是我最终的期望结果,但它的优势在于不依赖于特定的pdf查看器。我仍然会等待,看看是否有人在Sweave文档中发布图层,也就是OCG,然后我可以将其自动化。
编辑(2012年9月13日):我使用上面提到的代码发布了一个答案,我能够在更复杂的现实世界中使用它,而且不会在美国境内覆盖不同行政和统计界限的代码进行更改。在这种情况下,我刚刚命名了不同的地图叠加层layer-0.pdf
,layer-1.pdf
等,并且它没有错误地工作。我仍然希望最终有更好的东西出现在这里。
感谢所有为你评论
你也许能得到这个,如果你使用['tikzDevice'(http://cran.r-project.org/src/contrib/Archive/tikzDevice/)工作,可以配置'tikz '或'pgf'给你一个包含图层的pdf。不幸的是,这个软件包已经存档了,但它确实生成了漂亮的图形(或者至少在2年前使用过的时候) – mnel
谢谢@mnel,我现在通过Sweave尝试了这一点,如果我想出任何东西。 –
我不知道ImageMagick是否可以使用两个独立的PDF分层? – Aaron