2013-03-12 128 views
6

我是新來的d3以及JavaScript,我無法更新數據集,以及重新繪製酒吧。這是迄今爲止我所看到的代碼。D3更新數據集點擊並重繪條形圖

http://jsfiddle.net/TwEhT/2/

我有一個函數clickEvent,在任何欄上點擊被誘發。這個函數提示輸入一個值。

function clickEvent() 
{ 
    var op = prompt("Please enter the value", ""); 
}; 

我需要做的是更新點擊的索引處的數據集,並重繪rects使他們反映這一變化的數據集。

任何幫助,將不勝感激。謝謝。

+0

你可以嘗試尋找'return'ing從東西'clickEvent'功能(或者,也許,在你的'dataset'改變數組的索引值在'clickEvent'函數內部/某處),以便該值可以反映在您的數據集/圖中。 – summea 2013-03-12 02:52:25

回答

10

對於一個非常簡單的示例,您可以直接更新數據集,並將條形圖代碼放入render()函數中,您可以調用該函數重新渲染這些更改。

var dataset = [...]; 

function render() { 
    // bind dataset to rects and draw here 
} 

function clickEvent(d, i) { 
    var op = prompt("Please enter the value", d); 
    dataset[i] = parseInt(op, 10); 
    render(); 
}; 

這裏是你的代碼運行的例子:http://jsfiddle.net/findango/TwEhT/4/

+0

謝謝!這正是我需要的:) – user2159121 2013-03-12 04:01:41