我有以下问题;我正在使用NVD3周围的rCharts包装器来生成一个简单的折线图。我希望修改默认的tootip行为。使用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实现上述目标,还是我必须修改源代码?
答案 0 :(得分: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)
都会转换为rCharts中的n1$chart(x = y)
,如果需要,y
会使用标记进行修饰。
希望这有帮助。