4

我有一个简单的例子,它使用带有 rCharts 的工具提示似乎不起作用:

set.seed(1)
test <- data.frame(x = rnorm(100), y = rnorm(100))
rPlot(y ~ x, data = test, 
      type = 'point',
      tooltip = "function(item){return item.x + '\n' + item.name + '\n' + item.y}") 

出现一个空白页面。如果我删除工具提示选项,情节就在那里。我正在使用 rCharts_0.4.1,R 正在 x86_64-apple-darwin10.8.0(64 位)和 Chrome 版本 31.0.1650.63 上开发。

奖金问题!工具提示是否可以包含数据集中的变量但未用于x,y等?我有一个大型数据集,我想用每行具有唯一值的 ID 变量来注释数据点。

谢谢,

最大限度

4

2 回答 2

4

图表 0.4.2

我不能指出我以前在哪里见过这个,但我能提供的最好的就是当前指令是像这样包装你的 js 函数:

"#!function(item) { return item.x }!#"

set.seed(1)
test <- data.frame(x = rnorm(100), y = rnorm(100), id = 1:100)
p <- rPlot(y ~ x, data = test, 
        type = 'point',
        tooltip = "#!function(item){ return 'x: ' + item.x + 
        ' y: ' + item.y + ' id: ' + item.id }!#")

我永远无法获得不同行的提示。您可以通过在创建工具提示时在所需位置键入p$show('inline')并包括换行符来查看问题。Mustache 正在转换换行符,这意味着它们在生成的 JS 函数中消失并导致工具提示函数跨越多行 - 导致错误。我试图转义换行符并将每个包含换行符的字符串附加到.replace('\\n', '\n'),但这显然会导致同样的问题。

目前,最好的办法是制作如图所示的绘图,键入p$save('filepath.html')并手动添加换行符。否则,问题是如何将文字换行符传递给 mustache。

于 2014-03-30T17:17:47.897 回答
0

您的代码使用rCharts0.3.51(Chrome 31.0.1650.63 m,Win7 x64)工作/工作:

set.seed(1)
require(rCharts)
test <- data.frame(x = rnorm(100), y = rnorm(100), 
                   name=replicate(100, paste(sample(letters, 5, rep=T), collapse="")))
rPlot(y ~ x, data = test, 
      type = 'point',
      tooltip = "function(item){return item.x + '\n' + item.name + '\n' + item.y}")

您应该能够引用所有列test- 就像我对name.

在此处输入图像描述

于 2014-01-05T02:57:05.897 回答