r - 如何提供带有超链接的 ggplot2 图?

标签 r svg ggplot2

我正在尝试提供一个带有超链接的 ggplot2 图:

这有效:

library(gridSVG)
library(lattice)

xyplot(mpg~wt, data=mtcars, main = "Link to R-project home")
mainGrobName <- grep("main", grid.ls()[[1]], value=TRUE)
grid.hyperlink(mainGrobName, "http://www.r-project.org")
gridToSVG("HyperlinkExample.svg")

这不是:
p = ggplot(mtcars, aes(wt, mpg)) + geom_point()+ labs(title="link")
print(p)
mainGrobName <- grep("title", grid.ls()[[1]], value=TRUE)
grid.hyperlink(mainGrobName, "http://www.r-project.org")
gridToSVG("HyperlinkExample.svg")

这有什么提示吗?

最佳答案

我问过 gridSVG 包的作者之一西蒙·波特:
这是他的(工作)答案:

我建议您在此处尝试开发版本:

http://r-forge.r-project.org/R/?group_id=1025

它包含一个专门用于处理 gTables(以及 ggplot2 图形)的解决方法。

因此,要尝试让您的示例工作,请启动一个新的 R session 并运行以下代码:

install.packages("gridSVG", repos="http://R-Forge.R-project.org")
library(gridSVG)
library(ggplot2)
(p <- ggplot(mtcars, aes(wt, mpg)) + geom_point() + labs(title="link"))
titleGrobName <- grep("title", grid.ls(print=FALSE)$name, value=TRUE)
grid.hyperlink(titleGrobName, "http://www.r-project.org/")
gridToSVG("HyperlinkExample.svg", "none", "none")

这里唯一真正的区别是给 gridToSVG() 的附加参数。这主要是为了将输出减少到仅 SVG 文件和 HTML 包装器(否则您还会得到一些 JSON 数据,这对您的示例没有用)。

关于r - 如何提供带有超链接的 ggplot2 图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14071210/

相关文章:

r - R:更改数据框中列的字符编码

删除使用plotmath制作的ggrepel标签之间的空间

r - 如何在 R Markdown 的 YAML 元数据中创建多级字典?

javascript - FabricJS - SVG 序列化问题

html - 如何使用以 vw/vh 为单位的点创建 SVG 响应多边形?

javascript - 如何在snap.svg中使用textPath作为文本?

r - 如何从 ggplot2 图例中删除线条美学?

r - 仅在图形的一个区域上更改背景颜色

R mse计算中的randomForest包

r - 是否有一个运算符可以代替函数 coord_map() 的 '+' 符号?