4

我有以下问题;我正在使用 NVD3 周围的 rCharts 包装器来生成一个简单的折线图。我希望修改默认的提示行为。使用 NVD3 库,我已经能够使用以下代码做到这一点;

.tooltipContent(function(key,x ,y,e,graph){
    var idx = x.replace("s","")

    var thumbPath = 'snap_' + idx + '.png'
    return '<h3>' + key + '</h3>' +
    '<p>' +  y + ' at ' + x + '</p>' +
    '<img src="'+ thumbPath+ '" alt="some_text">'
  })

这显示了 x 标签的不同值的不同缩略图。我的问题如下;是否可以使用 rCharts 实现上述功能,还是我必须修改源代码?

4

1 回答 1

12

这是一个关于如何在 rCharts 中为 NVD3 指定工具提示的最小示例。您想要从 R 传递的任何 JS 文字,包括 JS 函数都需要在#!!#标记之间进行包装,以便 R 知道在转换为 JSON 期间不要将它们转换为字符串。图表输出可以在这里看到http://rcharts.io/viewer/?5948336

require(rCharts)
n1 <- nPlot(mpg ~ wt, group = 'gear', data = mtcars, type = 'scatterChart')
n1$chart(tooltipContent = "#! function(key, x, y){ 
  return 'x: ' + x + '  y: ' + y 
} !#")

一般来说,任何图表方法chart.x(y)都可以转换为n1$chart(x = y)rCharts,y如果需要,可以使用标签进行修饰。

希望这可以帮助。

于 2013-07-08T12:24:26.177 回答