2016-01-24 48 views
0

嗨,大家好

我想將這個D3圓形包裝圖表添加到我的Pentaho CDE - http://bl.ocks.org/mbostock/4063530在Pentaho CDE中使用D3圖表

想法是使用D3組件庫並將其添加爲D3組件 - 將腳本代碼作爲自定義圖表腳本,但我不知道如何執行此操作。我只發現這個教程http://biwithui.blogspot.cz/2014/08/d3-chart-in-pentaho-cde.html,它是特定於db數據源圖的。我的圖是使用json文件作爲輸入
d3.json("flare.json"
我相信你們中的一些人可以幫助我:
1)如何編輯index.html代碼,以便我可以將它添加到D3組件作爲自定義圖表腳本?
2)如何編輯部分flare.json數據輸入,所以我可以使用我自己的json數據源(具有相同的結構)加載Pentaho CDE(可能類似於d3.json("#"+this.Datasource

謝謝!

回答

0

您可能會將d3.select與d3.json混淆。第一個選擇你想要綁定圖表的DOM元素,第二個加載數據並進行回調。 Pentaho似乎要求你綁定到一個帶有哈希標記的元素(我對Pentaho不熟悉,但這似乎是本教程中的人員所做的)。嘗試:

//This will load the data into the 'data' variable 
d3.json('flare.json', function(data){ 
    d3.select('#' + this.htmlObject) 
     .data(data).enter() //And attaching your data. 
     .append(//whatever type of graph you want to create) 
     ... 

}) 
0

在本教程中,還有這是關鍵部分:

​​

顯然,從查詢您的組件指定的結果作爲dataset參數傳遞給自定義圖表通過D3組件上的腳本掛鉤。對cdaResultToD3Array的調用可能是特定於該示例的,並且不起作用,但您將確實必須以某種特定方式操作數據集,以便爲使用圖表代碼做好準備。

然後,你可以忘記d3.json('flare.json', function (data) { ... })部分,只使用該函數內的代碼。您的數據將被綁定到元素,圖表將繪製。

唯一的問題是數據轉換部分。您需要修改數據集以使其適用於圓形包裝代碼。

提示:使它看起來完全一樣,在flare.json