2015-05-11 15 views
0

我想排除LineChart更新,如果我使用餅圖1過濾,但希望它更新,但如果我使用餅圖-2過濾。dc.js - 是否可以從少數但不是全部過濾器中排除圖形?

希望這是有道理的,如果沒有,我會得到一個jsfiddle排序顯示一個例子,但目前有問題進入該網站。

非常感謝。

+0

你想要餅圖1過濾其他圖或完全禁用它的過濾嗎?好像你可以以不一致的狀態結束,如果你允許它過濾其他圖。 – Gordon

+0

我想餅圖1過濾一些其他圖表是。線圖只會過濾一個餅圖或它應該只顯示數據沒有過濾。 – NorthSide

+1

我不認爲你可以使用一個交叉過濾器來做到這一點,因爲它只有一組過濾器的容量。您可能可以通過使用多個交叉過濾器來做到這一點。 – Gordon

回答

2

我會假設餅圖不會相互過濾。 在這種情況下,您可以將單獨的直接渲染事件分配給要過濾的圖表集。假設您有pieChart1,pieChart2,lineChart1,lineChart2 ,並且您希望lineChart1僅在選擇pieChart1 Slice時進行更新,對於pieChart2-lineChart2組合體也是如此。

定義您的圖表併爲具有相同過濾條件的圖表指定相同的呈現事件名稱。

var pieChart1 = dc.pieChart("#pie1", "filterView1"); 
var lineChart1 = dc.lineChart("#line1", "filterView1"); 

var pieChart2 = dc.pieChart("#pie2", "filterView2"); 
var lineChart2 = dc.lineChart("#line2", "filterView2"); 

然後終於在定義圖表屬性後,調用兩個獨立的渲染事件

dc.renderAll("filterView1"); 
dc.renderAll("filterView2"); 

這種方式可以使自己的渲染組自定義篩選。

+0

我還沒有嘗試過這個,但是會在我可以的時候給它一個! – NorthSide

+0

它應該工作。我試了一下,然後發佈:) –

+1

這些被稱爲「圖表組」,雖然它會很好地有一個術語,更清楚它是什麼樣的「渲染事件」。 :-)不幸的是,我認爲這不會超過第一次點擊,因爲如果所有的圖表仍然在同一個交叉過濾器上,那麼他們都會觀察所有其他圖表的過濾器。所以我認爲你已經解決了交互部分而不是數據部分。一旦第二個圖表組由於其自己的過濾器更改而更新,您將看到第一個過濾器的效果。 – Gordon

相關問題