我有以下问题;我正在使用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来实现上述功能,还是必须修改源代码?
最佳答案
这是有关如何在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
。希望这可以帮助。