2013-11-24 39 views
2

我希望這是一個外面有人的簡單問題。HoverCallback或相當於rCharts Morris條形圖的工具提示?

我想使用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") 
) 

任何意見,編碼,或文件,我可以審查將不勝感激。

回答

3

以下是如何使用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庫,並且跨庫不同。對於MorrisJS,您可以直接在Morris Website上查找文檔。任何選項都可以使用set方法添加到圖表中。

你在上面的代碼中看到的看起來很有趣的#!...!#行是一種黑客行爲,允許類似於函數的javascript對象直接傳遞給HTML,否則它們將被轉換爲字符串。

希望這會有所幫助。

+0

這正是我所期待的。黑客正是我嘗試設置hoverCallback選項時所缺少的。而且,非常感謝您的回覆 - 我非常享受rCharts。 – user3019627

+0

很高興爲您服務! – Ramnath

相關問題