我想在 R 中创建一个我想在网站上使用的热图。我偶然发现了 SVGAnnotation 包,它似乎非常适合在 R 中处理 SVG 图形,使它们更具交互性。首先,我计划为热图中的每个单元格添加工具提示 - 如果用户将鼠标悬停在单元格上,应该弹出该单元格的值。但是,我现在已经与 SVGAnnotation 抗争了 3 个多小时,阅读和尝试一些东西,但我无法让它工作。
对于 SVGAnnotation 工具提示功能的任何帮助,我将不胜感激。但我也非常感谢 SVGAnnotation 的替代方案,以便为我的 R SVG 热图添加一些事件。
所以,到目前为止,我得到的是这样的:
library(SVGAnnotation)
data(mtcars)
cars <- as.matrix(mtcars)
map <- svgPlot(heatmap(cars))
addToolTips(map, ...) # problem
saveXML(map, "cars.svg")
我想我的问题是 addToolTips 函数本身。直觉上,我会简单地插入数据矩阵,即 cars
,但这不起作用并且 R 卡住了(它正在计算,但没有返回任何东西,我等了 50 分钟)
编辑: 经过更多的在线研究,我找到了一个很好的例子来说明我想要实现的目标:http://online.wsj.com/article/SB125993225142676615.html#articleTabs=interactive
这张热图看起来真的很棒,而且交互功能(工具提示)也很好用。我想知道他们是怎么做到的。在我看来,该图形似乎是使用 ggplot 包在 R 中完成的。
最佳答案
我写了一个命令行工具,如果您仍然有兴趣将工具提示添加到您的热图中,它完全可以做到这一点。它在 Windows/Linux/MacOS 终端运行。作为输入,您所需要的只是作为 svg 文件的热图和用作输入以创建热图的数据表/矩阵作为 csv 或其他文本文件。
关于r - SVG 注释为 R 热图中的每个值创建工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15734407/