【发布时间】:2012-08-29 11:29:00
【问题描述】:
我已经搜索了 SO,谷歌搜索,阅读 ?pdf,并提出了将绘图保存为 pdf 的可能性,这些图层可以在 pdf 查看器边缘打开和关闭。我所说的一个例子是 USGS 四方地形图,可以下载为具有多个图层的 pdf,例如 this(压缩的 pdf)。
pdf() 帮助文件中的以下句子听起来不祥,但我也想确认我没有误解它:
The R graphics model does not distinguish graphics objects at the level
of the driver interface.
我以前可以在 Illustrator 中保存分层的 pdf,但不再有这个程序可供我使用。也许有人可以从 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(回复:@mnel),看起来不可能。如果有人想出了一个漂亮的 R-tastic 解决方法,我仍然会保留这个问题。
编辑(2012 年 9 月 5 日):我尝试通过 Sweave 执行此操作,并使用发布的解决方法 here 取得了部分成功。此方法生成带有“图层”的单个 pdf,可以使用图像下方的超链接文本打开和关闭。它使用“动画”技巧来做到这一点。虽然它仍然不是我最终想要的结果,但它的优点是不依赖于特定的 pdf 查看器。我仍然会等着看是否有人发布了一种在 Sweave 文档中制作图层的方法,也就是 OCG,然后我可以将其自动化。
编辑(2012 年 9 月 13 日):我使用上面提到的代码发布了我的进度作为答案。我能够让它在更复杂的现实世界情况下工作,而无需更改代码,覆盖美国境内不同的行政和统计边界。在这种情况下,我只是将不同的地图叠加层命名为layer-0.pdf、layer-1.pdf 等,并且它可以正常工作。我仍然希望最终会出现更好的东西。
谢谢你们所有的cmets
【问题讨论】:
-
如果您使用
tikzDevice并且可以配置tikz或pgf为您提供带有图层的pdf,您可能能够使其工作。不幸的是,该软件包已存档,但它确实产生了漂亮的图形(或者至少在我 2 年前使用它时) -
感谢@mnel,我现在一直在通过 Sweave 尝试这个,如果我有什么想法会发布。
-
我想知道 ImageMagick 是否可以从两个单独的文件中制作分层的 pdf 文件?
-
查看了 ImageMagik 帮助论坛,但找不到提及。似乎应该可以做到这一点
-
这里有一个来自 tex SE 站点的问题,它使用 ocgtools 包执行此操作并有一些示例代码:tex.stackexchange.com/q/65096/2823