2

我希望这对外面的人来说是一个简单的问题。

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

点图和条形图是使用不同的参考类(PolyCharts 与 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")
)

任何关于编码或我可以查看的文档的建议将不胜感激。

4

1 回答 1

4

以下是如何使用Morris. 您可以在此处查看带有代码的最终图表。

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试图跨多个可视化库提供一致的接口,但它通常仅限于数据和绘图美学。自定义是特定于每个可视化库的,并且在不同的库中是不同的。对于 MorrisJS,您可以直接在Morris 网站上查找文档。任何选项都可以使用该set方法添加到图表中。

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

希望这可以帮助。

于 2013-11-24T03:01:32.020 回答