我有以下问题;我使用rCharts包装NVD3来生成一个简单的折线图。我希望修改默认的嘟嘟行为。使用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实现上述内容吗?还是我必须修改源代码?
下面是一个关于如何在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
会用标记进行装饰。
希望这能有所帮助。