HoverCallback或工具提示相当于rCharts Morris条形图?

时间:2013-11-24 01:11:52

标签: javascript r rcharts

我希望这对那里的某个人来说是一个简单的问题。

我想使用rCharts创建一个带有自定义悬停的简单条形图。我找到了可用于注释点图的示例代码,但不是条形图。

点图和条形图使用不同的引用类(PolyCharts vs. Morris)构建,但我希望语法可能类似,或者有人可以提供有关如何通过rCharts设置HoverCallback属性的建议。以下是代码段作为示例。

require(rCharts)

sex = c("Male", "Female") 
ttl = c(4132,4399) 
pct = c(48.4, 51.6) 

dta = data.frame(sex,ttl,pct)

rp <- rPlot(pct ~ sex, data = dta, type = 'point', 
                  tooltip="function(item){return item.ttl +'\n' + item.pct}"
                  )
str(rp)
sp$guides(y = list(title = "", min=0,max = 100))
rp

# Bar Chart (Reference class = Morris)

mp <- mPlot(x = 'sex', y = c('ttl'), data = dta, type = "Bar",
            names.arg=c("Male","Female")
)

我非常感谢您可以查看的任何建议,编码或文档。

1 个答案:

答案 0 :(得分:4)

以下是使用Morris修改工具提示的方法。您可以使用代码here查看最终图表。

mp <- mPlot(ttl ~ sex, data = dta, type = "Bar")
mp$set(hoverCallback = "#! function(index, options, content){
  var row = options.data[index]
  return '<b>' + row.sex + '</b>' + '<br/>' +
     'ttl: ' + row.ttl + '<br/>' + 
     'pct: ' + row.pct
} !#")
mp

尽管rCharts尝试跨多个viz库提供一致的界面,但它通常仅限于数据和绘图美学。自定义特定于每个viz库,并且在库之间是不同的。对于MorrisJS,您可以直接在Morris Website上查找文档。可以使用set方法将任何选项添加到图表中。

您在上面的代码中看到的有趣的#!...!#行是允许将函数等javascript对象直接传递给HTML的hack,否则它们将被转换为字符串。

希望这有帮助。