我认为在
svg()
司机在R,没有明显的方法改变它。但是,可以在使用plot hook生成图形后更改它。例如,将它放在文档的knitr options块中:
<<knitropts>>=
library(knitr)
library(ggplot2)
opts_chunk$set(fig.path = "svg-differ/",
dev = c("svg", "pdf"),
fig.ext = c("svg", "pdf"))
set.seed(1)
oldhook <- knitr::knit_hooks$get("plot")
newhook <- function(x, options) {
lines <- readLines(x)
lines <- sub('<g id="surface[[:digit:]]+">',
'<g id="surface">', lines)
writeLines(lines, x)
oldhook(x, options)
}
knitr::knit_hooks$set(plot = newhook)
@
这将更改所有字符串,如
<g id="surface##">
简单地
<g id="surface">
在打印输出文件中。您可能希望使它更复杂一些;例如,它应该只尝试对svg文件执行操作,而其他id可能更好。