SVGAnnotation为R热图中的每个值创建工具提示

SVGAnnotation为R热图中的每个值创建工具提示,r,svg,heatmap,R,Svg,Heatmap,我想在R中创建一个我想在网站上使用的热图。我偶然发现了SVGAnnotation包,它似乎非常适合在R中处理SVG图形,以使它们更具交互性。首先,我计划为热图中的每个单元格添加工具提示-如果用户将鼠标悬停在单元格上,该单元格的值应该会弹出。然而,我现在已经和SVGAnnotation斗争了3个多小时,阅读并尝试一些东西,但我无法让它工作 如果您能在SVG注释工具提示功能方面提供帮助,我将不胜感激。但我也非常感谢SVG符号的替代方案,以便为我的R SVG热图添加一些活动 到目前为止,我得到的结果如

我想在R中创建一个我想在网站上使用的热图。我偶然发现了SVGAnnotation包,它似乎非常适合在R中处理SVG图形,以使它们更具交互性。首先,我计划为热图中的每个单元格添加工具提示-如果用户将鼠标悬停在单元格上,该单元格的值应该会弹出。然而,我现在已经和SVGAnnotation斗争了3个多小时,阅读并尝试一些东西,但我无法让它工作

如果您能在SVG注释工具提示功能方面提供帮助,我将不胜感激。但我也非常感谢SVG符号的替代方案,以便为我的R SVG热图添加一些活动

到目前为止,我得到的结果如下:

    library(SVGAnnotation)
    data(mtcars)
    cars <- as.matrix(mtcars)

    map <- svgPlot(heatmap(cars))

    addToolTips(map, ...)   # problem

    saveXML(map, "cars.svg")
库(SVGAnnotation)
数据(mtcars)

cars我编写了一个命令行工具,如果您仍有兴趣将工具提示添加到热图中,它可以准确地执行此操作。它在Windows/Linux/MacOS终端上运行。您只需要输入作为svg文件的热图和作为输入创建作为csv或其他文本文件的热图的数据表/矩阵。

与此同时,我发现了另一个名为
gridSVG
的软件包,它似乎也可以创建工具提示。然而,我找不到任何关于我如何做到这一点的文档/教程,信息似乎非常稀少。从…起(Paul是grid graphics和R的基本图形引擎的作者。)谢谢!同时,我编写了自己的外部程序,将工具提示添加到svg中,但我将保留这个问题,如果有人能够回答这个问题,它可能对其他人也很有用。如果适合将您的解决方案作为答案发布(例如,如果它是一个与R一起工作的脚本),请这样做。至少我真的很想看看你有什么想法!我是用Python做的,这对我来说方便多了。基本上,它只是一个脚本,读取数据矩阵(可以是用于在R中创建图形的原始矩阵),并将工具提示标题标记放在表示热图单元格的svg行中。然后将数据矩阵中的值添加到这些“标题”中。这很容易实现,因为svg中的热图单元按特定顺序排列:从左下角到右上角。