2015-04-05 45 views
0

我正在使用D3的動態散點圖。 (Current draft如何基於表單輸入將D3元素變灰?

我想要在頁面底部包含一個窗體,根據窗體隱藏或灰色的一些圓圈。

表單將包含複選框和滑塊。這個問題只問滑塊。目前,我被困在如何使D3表單元素

this tutorial迴應我做了當用戶與滑塊交互調用一個update功能的滑塊。 This SO answer給出了更改數據點顏色填充的代碼。

update函數中的console.log聲明表明我沒有選擇正確的D3元素。

如何訪問/鏈接正確的D3元素?

回答

1

您應根據表單輸入過濾數據,然後通過更改後的數據通知d3.js。把下面的

d3.select('#chart svg') 
     .datum(filterDataset(dataset, nRadius)) 
     .transition().duration(1000) 
     .call(chart); 

在更新功能(在pastebin例子)

變灰是大致相同的,除了你只能改變你的數據屬性,使D3上色根據你的屬性項目。

+0

您可以提供一個例子,說明在灰色的情況下「只更改數據中的屬性」是什麼意思嗎?我認爲''d3.selectAll(#nv-point)'是選擇散點圖中所有點的適當方法。 – mac389 2015-04-05 16:19:09

+1

在我看來,d3的主要思想是數據完全控制它的可視化,而不是任何JavaScript代碼。但這裏不僅是d3,也是nvd3,所以css-selectors可能會適當。灰色是'd3.selectAll('。nv-point')。classed('hidden-point',function(d){return d.size> = nRadius/100;})'還有關於.hidden-點。不是'可視性:無','可見性:隱藏'。灰色看看pastebin。 http://pastebin.com/uAuHFHSZ – mbeloshitsky 2015-04-06 03:40:47