我希望这对那里的某个人来说是一个简单的问题。
我想使用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")
)
我非常感谢您可以查看的任何建议,编码或文档。
答案 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,否则它们将被转换为字符串。
希望这有帮助。